题目描述
功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )
最后一个数后面也要有空格
函数接口说明:
public String getResult(long ulDataInput)
输入参数:
long ulDataInput:输入的正整数
返回值:
String
代码
import java.util.*;
public class Main
{
public static void main(String [] args)
{
Scanner in = new Scanner(System.in);
long ulDataInput = in.nextLong();
String result = getResult(ulDataInput);
System.out.println(result);
}
public static String getResult(long ulDataInput)
{
String s = "";
int i = 2;
long temp = ulDataInput;
while(i <= ulDataInput)
{
if(isPrime(i))
{
if(temp % i == 0)
{
s += i;
s += " ";
temp /= i;
continue;
}
}
i++;
}
return s;
}
private static boolean isPrime(int n)
{
if(n < 2)
return false;
else if(n == 2)
return true;
for(int i = 2; i < Math.sqrt(n); i++)
{
if(n % i == 0)
return false;
}
return true;
}
}