package Java2012大赛;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class 正整数分解质因数 {
static List<Integer> list = new ArrayList<Integer>();
public static void main(String[] args) {
String str = javax.swing.JOptionPane
.showInputDialog("请输入N的值(输入exit退出):");
int intnum = Integer.parseInt(str);
/*第一个intnum表示的是每次相除后的商,
* 第二个intnum表示的是输入的那个整数,
* 2代表开始时从2除然后每次加1,
* count表示list中list中的所有数字的乘积
* */
fx(intnum, 2, intnum, 1);
System.out.println(list);
}
private static void fx(int i, int j, int num, int count) {
if (j > num / count)
return;
if (i % j == 0) {
list.add(j);
count = count * j;
fx(i / j, j, num, count);
} else
fx(i, ++j, num, count);
}
}