题解 | #质数因子#
质数因子
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;
}
}

