【发布时间】:2013-11-16 19:54:42
【问题描述】:
好的,我想从控制台输入一个整数并检查该数字是否为素数。 我挖了一个代码,并对其进行了转换以满足我的需要,但它计算不正确。
using System;
class PrimeNumber
{
static void Main()
{
Console.Write("Type a number: ");
string line = Console.ReadLine(); // Read string from console
int value;
if (int.TryParse(line, out value)) // Try to parse the string as an integer
{
int x = 0;
if (value == 1) Console.WriteLine("not prime");
if (value == 2) Console.WriteLine("prime");
for (int i = 3; i < value*value; i+=2)
{
if (value % 2 == 0) x++; break;
if (value % i == 0) x++; break;
}
Console.WriteLine(x);
if (x == 0) Console.WriteLine(value + " is prime");
else Console.WriteLine(value + " is not prime");
}
else
{
Console.WriteLine("Invalid input.");
}
}
}
【问题讨论】:
-
(..) 但它计算不正确,因为 ...
-
你尝试过的价值观是什么?
-
@whoever 投票结束:不要这么快结束问题......我发现了问题,但我无法回答,因为问题已结束。这简直是愚蠢的......
-
顺便说一句,您的
if ( value % i == 0 ) x++;无法访问.. -
对于那些认为问题已过早关闭的人,请注意,OP 的问题基本上是“我从某个地方挖出这段代码并稍作更改,但 它没有不行。你能帮我修一下吗?”这不是问题,甚至不是问题陈述。