题目描述
功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )最后一个数后面也要有空格
输入描述:
输入一个long型整数
输出描述:
按照从小到大的顺序输出它的所有质数的因子,以空格隔开。最后一个数后面也要有空格。
示例:
输入: 180
输出: 2 2 3 5
思路:将给定数num用从2开始的数除,所得余数就是num的质数因子,所得除数赋给num
代码:
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNextLong()){
StringBuffer sb = new StringBuffer();
while(num != 1){
for(int i = 2; i <= num; i++){
if(num % i == 0){
sb.append(i + " ");
num = num / i;
break;
}
}
}
System.out.println(sb);
}
sc.close();
}
}