int 自然数 = int.Parse(Console.ReadLine());
bool 判 = true;
foreach (int 除数 in Enumerable.Range(2, 自然数 - 2))
{
if (自然数 % 除数 == 0)
{
判 = true;
break;
}
else 判 = false;
}
if (!判)
{
Console.WriteLine(自然数 + " 质数");
判 = true;
}
else
{
int 验 = 2; string 算式 = " 合数:";
foreach (int 除数 in Enumerable.Range(2, 自然数 - 2))
if (自然数 % 除数 == 0)
while (验 <= 自然数 / 除数)
if ((int)Math.Pow(除数, 验++) == 自然数)
{
算式 += string.Join("*", Enumerable.Repeat(除数, --验));
判 = false;
break;
}
Console.WriteLine(判 ? "非质数、合数" : 自然数 + 算式);
}