质数因子
题目描述
功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )
public class Main {
public String calculate(long data) {
int index = 2; //初始化质因子为最小质数
StringBuilder sb = new StringBuilder(); //用来保存结果
while (data >= index) { //如果该数还可能存在质因子
if (data % index == 0) {
sb.append(index).append(" "); //记录下该质因子,接着处理,不要跳过该质因子
data /= index;
} else {
++index; //跳过该数,寻找下一个质因子
}
}
return sb.toString();
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
long data = in.nextLong();
Main test = new Main();
System.out.println(test.calculate(data));
}
}