题解 | #质数因子#
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607?tpId=37&tags=&title=&difficulty=0&judgeStatus=0&rp=1&sourceUrl=%2Fexam%2Foj%2Fta%3FtpId%3D37
import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); in.useDelimiter("\n"); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextInt()) { // 注意 while 处理多个 case int number = in.nextInt(); int prime = 2; List<String> list = new ArrayList<>(); while(prime <= Math.sqrt(number) + 1) { while(number % prime == 0) { list.add(prime + ""); number /= prime; } prime ++; if(number == 1) { continue; } if(prime > Math.sqrt(number) + 1) { list.add(number + ""); } } String res = String.join(" ", list.toArray(new String[list.size()])); System.out.println(res); } } }