题解 | #JAVA质数因子#
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Long in = sc.nextLong();
// 返回一个正确舍入的double值的正平方根
long k = (long) Math.sqrt(in);
// 从最小的质数开始尝试
for (long i = 2 ; i <= k ; i++ ) {
// 不断尝试直到不能被除尽
while ( in % i == 0 ) {
System.out.print(i + " ");
in = in / i ;
}
}
// 输出最后的
System.out.println(in == 1 ? "" : in);
// 关闭资源
sc.close();
}
}
/**
质数因子的意思就是这个数的所有质数约数,这个数可以由这些质数相乘得到。另外,题目要求是质数因子从小到大排序,以此,尝试质数因子时,也从小到大尝试。
l 输入一行,代表要计算值
l 对输入值进行正平方根,该平方根即为质数因子的最大值
l 从最小的质数开始尝试,不断尝试直到不能被除尽
l 输出每个质数因子
*/
#JAVA#
查看27道真题和解析