程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数k恰等于n,则说明分解质因数的过程已经结束,打印出即可。 (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。 (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个非 0 的正整数:");
int n = sc.nextInt();
String s = n + "=";
while(n != 1) {
for(int k = 2;k <= n;k++) {
if(n % k == 0) { //此时 k 为 n 的一个质因数
s += k;
n /= k;
k--;
if(n != 1) {
s += "*";
}
}
}
}
System.out.println(s);
}
效果展示: