【发布时间】:2013-01-01 11:42:19
【问题描述】:
我的任务有问题。如果数字是素数,我需要找到并提醒用户。
这是我的代码:
int a = Convert.ToInt32(number);
if (a % 2 !=0 )
{
for (int i = 2; i <= a; i++)
{
if (a % i == 0)
{
Console.WriteLine("not prime");
}
else
{
Console.WriteLine("prime");
}
Console.WriteLine();
}
}
else
{
Console.WriteLine("not prime");
}
Console.ReadLine();
我哪里出错了,我该如何解决?
【问题讨论】:
-
for (int i = 3; i
-
首先你需要了解什么是质数。 2是质数。你的第一个
if-statement 另有说明。然后你应该检查每个已知prime的模数,而不是从 2 到数字的每个已知number。 -
只需添加一个条件 i = a - 1 然后将其写为素数或非素数
-
您也可以只检查数字的平方根。
-
@kovilpattiCsharper:代码还有很多问题。