将一个正整数分解质因数。例如:输入60;打印出2*3*5*2
import java.util.Scanner;
/*将一个正整数分解质因数。例如:输入60;打印出2*3*5*2
package CompileProject;
import java.util.Scanner;
/*将一个正整数分解质因数。例如:输入60;打印出2*3*5*2
算法实现构思:
1、用Scanner实现输入一个正整数num
2、用一个for循环遍历一个从 i=2开始查找到i<=num的数
3、如果 num%i==0的时候,输出i的值
4、然后把num的值递归一下,即 num=num/i
5. 剩下思路见注释
*/
public class P16 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(true){System.out.print("请输入一个正整数:");
int num = sc.nextInt();
System.out.print("质因数分解后为:"+num+"=");
for(int i=2;i<num/2+1;i++){
while (num!=i){
if(num%i==0){
System.out.print(i+"*");
num=num/i;//if判断一遍、运行程序块后,只要满足while循环条件,继续判断if,直到break
/*
* 执行思路是从2到num/2+1从头取数i除num,num/i得到新的num,直到取得数不能整除num;取下一个数(i++),直到num=i
*/
} else break;//此时num%i!=0,跳出while,i++
}
}
System.out.println(num);
}
}
}
测试:24
60