判断101-200之间有多少个素数,并输出所有素数。
我写出了求101到200的素数并把它一一列举出来,但我不知道怎么输出一共有几个素数static void Main(string[] args)
{
int n;
for (n = 101; n <= 200; n++)
{
if (n % 2 != 0)
{
System.Console.WriteLine("101-200之间的素数:" + n);
}
}
}
我写出了求101到200的素数并把它一一列举出来,但我不知道怎么输出一共有几个素数static void Main(string[] args)
{
int n;
for (n = 101; n <= 200; n++)
{
if (n % 2 != 0)
{
System.Console.WriteLine("101-200之间的素数:" + n);
}
}
}
{
int n;
int sum;
for (n = 101; n <= 200; n++)
{
if (n % 2 != 0)
{
System.Console.WriteLine("101-200之间的素数:" + n);
sum+=1
}
}
System.Console.WriteLine("101-200之间的素数共:" + sum); }
{
int n;
int sum=0;
for (n = 101; n <= 200; n++)
{
if (n % 2 != 0)
{
System.Console.WriteLine("101-200之间的奇数:" + n);
sum++;
}
}
System.Console.WriteLine("101-200之间的奇数共:" + sum); }
另外,你的程序求的是奇数,而不是素数(质数)!
{
static void Main(string[] args)
{
System.Console.Write("101-200之间的素数:");
int n;
int sum = 0;
for (n = 101; n <= 200; n += 2)
{
for (int i = 3; i < n; i += 2)
{
if (n % i == 0)
{
goto next;
}
}
System.Console.Write(" " + n);
sum++;
next:;
}
System.Console.WriteLine("\r\n101-200之间的素数个数:" + sum);
}}
// 如果不用 goto,就要增加一个 bool 量: isPrimeclass Program
{
static void Main()
{
System.Console.Write("101-200之间的素数:");
int sum = 0;
for (int n = 101; n <= 200; n += 2)
{
bool isPrime = true;
for (int i = 3; i <= System.Math.Sqrt(n); i += 2)
{
if (n % i == 0)
{
isPrime = false;
break;
}
}
if (isPrime)
{
System.Console.Write(" {0}", n);
sum++;
}
}
System.Console.WriteLine("\r\n101-200之间的素数个数:{0}", sum);
}
}