正整数分解质因数(二)
正整数分解质因数(2)
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); } }