【发布时间】:2023-04-05 07:42:01
【问题描述】:
我正在尝试使用 C# 查找数字是否为素数。我已经写了代码。它应该可以工作,但由于某种原因它似乎没有。
这是我的代码(我试过输入 7、13 等,说它们不是素数):
class Program
{
static void Main(string[] args)
{
long u = Console.Read();
primefinder(u);
Console.ReadLine();
}
private static void primefinder(long a)
{
long counter = 0;
for (long b = 1; b <= a; b++)
{
if ((a % b) == 0)
{
counter++;
}
}
if (counter == 2)
{
Console.WriteLine("Is prime!");
}
else
{
Console.WriteLine("Is not prime");
}
Console.ReadLine();
}
}
【问题讨论】:
-
你应该看看多长 u = Console.Read();返回,我怀疑你会想要将字符串解析为整数。
-
@DmitryBychenko - 算法很好。这是效率最低但正确的方法之一。
-
您是否考虑过任何方法来弄清楚它如何或为什么不起作用?
-
轻松处理反对票和关闭请求。 OP 在实现他的算法方面做出了不错的尝试。