题解 | #质数因子#
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
import java.util.HashSet; import java.util.LinkedList; import java.util.List; import java.util.Scanner; import java.util.Set; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { private static List<Integer> list = new LinkedList<>(); public static void main(String[] args) { int n = 0; Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextInt()) { // 注意 while 处理多个 case n = in.nextInt(); } result(n); } private static void result(int n){ find(n); list.forEach(i -> { System.out.print(i+" "); }); } private static void find(int n){ int temp = n; int max = n / 2 + 1; int muli = muli(); for(int i = 2;i<max;i++){ if(n == muli){ return; } if(temp%i == 0){ list.add(i); muli(); temp = temp/i; max = temp/2 +1; i=1; } if(i == max-1){ list.add(temp); } } } private static int muli(){ int n = 1; for(Integer i : list){ n *= i; } return n; } }
雪域灰灰刷题笔记 文章被收录于专栏
雪域灰灰刷题笔记