【java】分解質因數
阿新 • • 發佈:2021-01-15
題目:
將一個正整數分解質因數。例如:輸入90,打印出90 = 2 * 3 * 3 * 5.
Code:
package test;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
System.out.print("請您輸入一個待分解的正整數: ");
Scanner in = new Scanner(System.in);
int n = in.nextInt();
fenjie (n);
in.close(); // 加不加對結果都沒啥影響
}
// 分解質數的方法
static void fenjie(int n) {
boolean sign=true;
System.out.printf("%d = ", n);
while (sign) {
for (int i = 2; i < n; i++) {
// 判斷是否可以除盡
if (n%i == 0) {
System.out.printf("%d*", i);
n=n/i;
break;
}
// 沒有可以分解的質數了,並打印出最後一個因數
if (i+1 == n) {
sign=false;
System.out.printf("%d", n);
break;
}
}
}
}
}
結果: