题目:将一个正整数分解质因数。例如:输入1023,打印出1023=3*11*31。
目录
1、解题思路
2、程序代码
3、程序输出
1、解题思路
从最小的质数开始,不断地将输入的正整数进行分解,直到无法再分解为止。具体实现方法为:从2开始循环到输入的正整数n,如果n能被i整除,就将i作为n的一个质因数,同时将n除以i,继续循环,直到n不能再被i整除为止。如果n不等于1,说明还有一个质因数没有被分解,将其输出即可。
2、程序代码
public class Main {
/**
* 因式分解
**/
public static void factorization(int n) {
System.out.print(n + "=");
for (int i = 2; i <= n; i++) {
while (n % i == 0) {
System.out.print(i);
n /= i;
if (n != 1) {
System.out.print("*");
}
}
}
System.out.println();
}
public static void main(String[] args) {
int n = 1023;
factorization(n);
}
}
3、程序输出