任意数都可以分解成由n个质数相乘
分解方法
1 先判定指定的数n是不是质数(质数不能分解)是质数就直接返回
2 是合数就先和最小的质数%运算 如果能被整除 就把商赋值给n
3 如果不能被整除就把最小的那个质数++
重复1-3步骤
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int k=2;//最小质数
System.out.print(n+"=");
while(true){
if(k==n){//先判定指定的数n是不是质数(质数不能分解)是质数就直接返回
System.out.print(k);
break;
}else if(n%k==0){
System.out.print(k+"*");
n=n/k;//是合数就先和最小的质数%运算 如果能被整除 就把商赋值给n
}else{
k++;//如果不能被整除就把最小的那个质数++
}
}
|
|