找出一个整数的所有非平凡因子
基础篇p117,4.16答案
编写程序,读入一个整数,然后以升序的形式显示所有最小银子,例如输入120,输出是:2,2,2,3,5.
import java.util.ArrayList; import java.util.Scanner; /** * 计算一个整数的所有因子 * @author Chobits * */ public class getfactor { static ArrayList list=new ArrayList(); public static int getFactor(int n){ int result=-1; for(int k=2;k<=n;k++){ if(n%k==0){ result=k; break; } } return result; } public static void main(String[] args){ Scanner input=new Scanner(System.in); int number=input.nextInt(); int temp=getFactor(number); while(temp!=-1){ list.add(temp); number=number/temp; temp=getFactor(number); } for(int index=0;index<list.size();index++){ System.out.print(list.get(index)+" , "); } } }