题解 | #质数因子#
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
1、输入最大值在int数据类型范围之内,质因数:所有因数中是质数的因数;i从2-根下num即可,不断除下去,能整除的即为质因数,直到最后num为1;如果不为1,则本身为质数,输出num本身
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); //2*(10^9)+14, 2,000,000,014。这个值是在Java的int类型的表示范围内的,-2,147,483,648到2,147,483,647 int num = in.nextInt(); int k = (int) Math.sqrt((double) num); for(int i = 2; i <= k; i++){ while(num % i == 0){ System.out.print(i + " "); num /= i; } } System.out.print(num == 1 ? "" : num); } }