题解 | #质数因子#
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
using System; using System.Collections.Generic; public class Program { public static void Main() { int num = Convert.ToInt32(Console.ReadLine()); if (IsRight(num)) { Console.Write(num); } else { int min = FindMin(num); int max = num / min; Console.Write(min + " "); while (!IsRight(max)) { int m = FindMin(max); Console.Write(m + " "); max = max/m; } Console.Write(max); } } public static int FindMin(int num) { for (int i = 2; i <= num / 2; i++) { if (num % i == 0) { return i; } } return num; } // true 是质数 public static bool IsRight(int num) { bool isRight = true; for (int i = 2; i < num / 2; i++) { if (num % i == 0) { isRight = false; break; } } return isRight; } }