package ClassicQuestion;
import java.util.Scanner;
/**对一个合数分解质因数*/
public class 分解质因数3 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("输入一个正整数:");
int n = in.nextInt();
boolean isPrime = true;
gg:for (int i = 2; i <= n-1; i++) {
if (n % i == 0) { //满足这个条件说明不是素数,这样才有质因数
//下面一段显然是求质因数
System.out.print(n+"=");
for (int k = 2; n >= k; k++) {
while (n % k == 0 && n != k) { //从2开始遍历,刚开始n肯定是
n = n / k;
System.out.print(k+"*");
}
if (n == k) {
System.out.println(k); //到这里为止,已经输出全部质因数了
isPrime = false;
break gg; //跳出求质因数的循环
}
}
}
}
if (isPrime) {
System.out.print("输入 的数不是合数");
}
in.close();
}
}
我是小白,所以代码可能会有问题,请注意鉴别。。