题解 | #质数因子#
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNextInt()) { int num = sc.nextInt(); if(num < 2){//如果输入的数字小于2则不能进行质因子分解 return; } int factor = 2; int maxFactor = (int)Math.sqrt(num);//只需要测试到sqrt(num)即可 while(factor <= maxFactor){ if (num % factor == 0) { System.out.print(factor + " "); num /= factor; maxFactor = (int)Math.sqrt(num); } else { factor++; } } if(num > 1) { System.out.print(num); } } } }