【华为OJ6】质数因子
原创
©著作权归作者所有:来自51CTO博客作者wx637b060b079f7的原创作品,请联系作者获取转载授权,否则将追究法律责任
题目描述
功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )
最后一个数后面也要有空格
详细描述:
函数接口说明:
public String getResult(long ulDataInput)
输入参数:
long ulDataInput:输入的正整数
返回值:
String
输入描述:
输入一个long型整数
输出描述:
按照从小到大的顺序输出它的所有质数的因子,以空格隔开。最后一个数后面也要有空格。
输入例子:
180
输出例子:
2 2 3 3 5
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
long num=sc.nextLong();
String str=getResult(num);
System.out.println(str);
}
sc.close();
}
public static String getResult(long input){
StringBuilder sb=new StringBuilder(128);
long i=2;
while(i<=input){
while (input % i == 0) {
sb.append(i).append(' ');
input /= i;
}
i++;
/*if(input % i== 0){
sb.append(i).append(' ');
input= input / i;
i=2;
}else{
i++;
}
if(input == 1){
sb.append(' ');
break;
}*/
}
return sb.toString();
}
}