C# 解决素数检查的心理方法?
我正试图开发一个程序,可以打印出1到100之间的所有素数。我在试图概念化这个问题时遇到了麻烦。有多个嵌套循环,我失去了对逻辑的跟踪。以下是不完整的代码/伪代码混乱:C# 解决素数检查的心理方法?,c#,C#,我正试图开发一个程序,可以打印出1到100之间的所有素数。我在试图概念化这个问题时遇到了麻烦。有多个嵌套循环,我失去了对逻辑的跟踪。以下是不完整的代码/伪代码混乱: using System; class Prime_Screening { static void Main() { Console.WriteLine("This program screens all numbers between 1 and 100 for primes and displa
using System;
class Prime_Screening
{
static void Main()
{
Console.WriteLine("This program screens all numbers between 1 and 100 for primes and displays the results.");
for (int numberToPrimeCheck = 2; numberToPrimeCheck <= 100; numberToPrimeCheck++)
{
for (int divisor = 2; divisor <= Math.Sqrt(numberToPrimeCheck); divisor++)
{
int remainder = 0;
while (remainder = 0)
{
remainder = numberToPrimeCheck % divisor;
if (remainder != 0)
{
break;
}
}
}
}
}
}
使用系统;
类素数筛选
{
静态void Main()
{
WriteLine(“该程序筛选1到100之间的所有素数,并显示结果。”);
对于(int numberToPrimeCheck=2;numberToPrimeCheck这听起来像是一个考试题……不过,您应该能够通过“mod”函数实现这一点。如果“mod”==0,则prime=false。使用系统;
using System;
class Prime_Screening
{
bool prime;
static void Main()
{
Console.WriteLine("Prime numbers x, where: 0 < x < 100");
for (int num= 2; num<= 100; num++)
{
prime = True;
for (int div= 2; div<= Math.Sqrt(num); div++)
if(num % div== 0)
prime = False;
if (prime)
Console.Write(num.ToString() + ", ");
}
}
}
类素数筛选
{
布尔素数;
静态void Main()
{
Console.WriteLine(“素数x,其中:0 对于(int num=2;num,以下是正确的代码:
using System;
class Program
{
static void Main()
{
Console.WriteLine("This program screens all numbers between 1 and 100 for primes and displays the results.");
for (var numberToPrimeCheck = 2; numberToPrimeCheck <= 100; numberToPrimeCheck++)
{
var remainder = 1;
for (var divisor = 2; divisor <= Math.Sqrt(numberToPrimeCheck); divisor++)
{
remainder = numberToPrimeCheck % divisor;
if (remainder == 0)
{
break;
}
}
if (remainder != 0)
Console.WriteLine(numberToPrimeCheck);
}
}
}
使用系统;
班级计划
{
静态void Main()
{
WriteLine(“该程序筛选1到100之间的所有素数,并显示结果。”);
对于(var numberToPrimeCheck=2;numberToPrimeCheck是的,我正要发表同样的评论。这个问题质量很差,应该标记为这样,但Code_Steel是新的。首先,让我们留下建设性的评论,希望他能整理他的问题,使之更适合该网站。答案是“非常小心”@usar,否决投票对个人声誉没有帮助。事实上,否决一个问题不需要任何代表分数。否决一个答案需要(-1)。我认为你是在抢否决票,因为你把两个问题(为什么我的代码不起作用)和(如何成为一个好的程序员)结合起来了。如果你将问题编辑为纯粹关于代码,那么你就不会吸引反对票。在StackOverflow上,不鼓励你提出难以回答的广泛问题。re:你的评论“太严格了。”你的问题不是无效的,这根本不是合适的论坛。牙医大会也不是。也许你可以在StackExchange家族或更远的地方找到一个更合适的论坛。这不起作用,每次低于其根的数字不是一个因素时,它都会打印出数字!嗨,Monacraft,我有这个问题的答案已经有了。谢谢你的回答,但我需要知道如何思考解决这个问题。@Code_Steel补充了解释,尽管它很简单