gpt4 book ai didi

c# - 如何生成用户定义数量的素数?

转载 作者:太空狗 更新时间:2023-10-30 01:27:41 24 4
gpt4 key购买 nike

我正在尝试根据用户输入生成质数。这是我到目前为止所拥有的,但我似乎无法弄清楚:

Console.Write("Please enter the number of prime numbers you would like to see:");
int numberOfPrimes = Convert.ToInt32(Console.ReadLine());

for (int x = 0; x < numberOfPrimes; x++)
{
for (int a = 2; a <= x ; ++a)
{
bool prime = true;
for (int b = 2; b < a; ++b)
{
if (a % b == 0)
{
prime = false;
}//end if
}//end double nested for
if (prime == true)
{
Console.WriteLine(a);
}//end if
}//end nested for
}//end for

最佳答案

如果您查看循环结构,您应该能够很容易地明白为什么您的结果是错误的。手动逐步完成它们(不会花很长时间)。

您获得当前结果的原因是并非外循环 ( x < numberOfPrimes ) 的每次迭代都会产生结果 - 由于内循环的结构方式,它会跳过相当多的迭代。

您真正需要做的是重构内部循环。你最里面的循环工作正常,应该检测到任何质数。但是,您的第二个循环应该只测试尚未测试的数字。此外,一旦找到质数,它就应该停止循环。

关于c# - 如何生成用户定义数量的素数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2415033/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com