小练习_num1

时间:2023-11-23 17:26:14

题目:将一个正整数分解质因数。例如:输入90,打印输出90=2*3*3*5。

 /*
分解质因数
*/
import java.util.*;
class num1
{
public static void main(String[ ] args)throws Exception
{
boolean b=true;
while(b)
{
try
{
Scanner sc = new Scanner(System.in);
System.out.println("********************************************************");
System.out.println("开始___请输入一个大于一的正整数:");
int n = sc.nextInt();
int k=2;
System.out.print(n+"=");
while(k<=n)
{
if(k==n) //判断n是否等于k,如果等说明本身就是质数,查找完毕,break!
{
System.out.println(n);break;
}
else if(n%k==0) //此时n肯定不是质数,与k求余,如果能被整除,此k为其一个质因数
{
System.out.print(k+"*");n=n/k;
}
else //此时的n本身不是质数,此时k也不是其质因数,从小到大,开始寻找下一个质因数
k++;
}
while(k>n)
{
System.out.println("<ERROR-请输入大于1的正整数>");break;
}
}
catch(Exception e)
{
System.out.println("<!!您输入的不是大于一的正整数 或者 超出计算范围!>");
}
Scanner scgoon = new Scanner(System.in);
System.out.println("_______________________________________________");
System.out.println("回车继续,输入exit退出");
String sg = scgoon.nextLine();
if(sg.equals("exit"))
{b=false;}
}
}
}