Java分解質因數
最小的質數爲2
while循環實現
public static void primeFactor(int n) {
int k = 2;//先用最小的2開始分解
while (k <= n) {
if (k == n) {
System.out.print(k);
break;
} else if (n % k == 0) {
System.out.print(k + "*");
n = n / k; //此時的n值作爲下一次的n,之後分解
} else {//上面都是用最小的2去分解,如果2分解不了,k++
k++;
}
}
}
for循環實現
public static void primeFactor(int n) {
for (int i = 2; i <= n; i++) { //先用最小的質數2進行分解
if (n%i==0) {
System.out.print(i);
n = n/i;//更新被除數
i--; //抵消除數自增,使其還爲2
if (n==1) { //如果原來的n除以i等於1,說明因數是其本身,就是最後一個因數了
break; //結束循環,同時防止打印*
}
System.out.print("*");
}
}
}