描述
功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )
输入描述:
输入一个整数
输出描述:
按照从小到大的顺序输出它的所有质数的因子,以空格隔开。
分析
从2到num的开平方遍历,若能被num或其商整除,则是这个值是num的质数。
若最后num不是1,则说明是大于num开平方的那个质数
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
int sqrt = (int)Math.sqrt(num);
for(int i = 2; i <= sqrt; i++){
while(num % i == 0){
System.out.print(i+" ");
num /= i;
}
}
System.out.print(num == 1 ? "" : num + " ");
}
}