题解 | 质数因子
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
import java.util.Scanner;
import java.util.List;
import java.util.ArrayList;
import java.util.TreeSet;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
Long n =in.nextLong();
StringBuilder result=new StringBuilder();
while(n%2==0){
result.append(2).append(" ");
n/=2;
}
for(int i=3;i*i<=n;i+=2){
while(n%i==0){
result.append(i).append(" ");
n/=i;
}
}
if(n>2){
result.append(n);
}
System.out.println(result.toString().trim());
in.close();
}
}
一定要就题论题,直接在main函数里面写方法。
一定注意想要持续的循环且不知道什么时候结束的时候一定要用while
StringBuilder用来拼接更省空间(直接在数组内添加,补增对象),因为String每次都会创建临时对象
