题解 | #质数因子#
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextInt()) { // 注意 while 处理多个 case
long a = in.nextInt();
long b = 2;
while (a > 1 && b <= Math.sqrt(a)) { // 这里b不必加到a(会超时),加到根号a,最后再加一个判断
if (a % b == 0) {
a /= b;
System.out.print(b);
if (a > 1) {
System.out.print(" ");
}
b = 2;
} else {
b++;
}
}
if (a != 1) { // 判断上面是b加到a停止的还是加到根号a仍未找到最后一个因子,后者最后一个因子就是a
System.out.print(a);
}
}
}
}
#华为机试##质数因子##在线编程#
巨人网络公司福利 91人发布