用c#!!输入一个数如果是质数则输出该数是质数,如果是合数用质因子乘积的形式输出来如8=2*2*2
好玩,用奇数循环了一下
/*用c#!!输入一个数如果是质数则输出该数是质数,如果是合数用质因子乘积的形式输出来如8=2*2*2*/
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 数 = 1, 验 = 2; string 算式 = "";
foreach (int 除数 in Enumerable.Range(2, 自然数 - 2))
if (自然数 % 除数 == 0)
while (验 <= 自然数 / 除数)
if ((int)Math.Pow(除数, 验++) == 自然数)
{
while (数 < 自然数)
{
数 *= 除数;
算式 += 数 < 自然数 ? 除数.ToString("0*") : 除数.ToString();
}
判 = false;
break;
}
Console.WriteLine(判 ? "非质数、合数" : 自然数 + " 合数:" + 算式);
}