二、题思路将一个正整数分解质因数
三、代码实现1.手动输入一个数
2. 获取一定范围的质数
3.分解质因数
package basic.example;
import com.google.common.collect.Lists;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class BasicFor04 {
public static void main(String[] args) {
//1.输入一个正整数
Scanner scanner = new Scanner(System.in);
System.out.println("请输入正整数,按回车结束:");
int targetNum = scanner.nextInt();
//2.获取0~100质数
List list = Lists.newArrayList();
list.add(2);
for (int i = 3; i < 100; i++) {
Boolean flag = true;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
flag = false;
break;
}
}
if (flag) list.add(i);
}
//3.分解公因数
System.out.println("分解质因数如下:");
partition(targetNum, list);
}
public static void partition(Integer targetNum, List list) {
for (Integer item : list) {
if (targetNum % item == 0) { // 是否能整除
System.out.println(item);
Integer part = targetNum / item;
if (part != 0) //当不能被除尽,取商继续递归
partition(part, list);
break;
}
}
}
}
四、结果截图



