它的打印206,哪里出错了?
#include<stdio.h>
#include<conio.h>
void main()
{
int n ,c,m;
n=100;
c=0;
while(n<1000)
{
for(m=2;m<10;m++) //count c for non prime numbers
{
if(n%m==0)
{
c++;
m=100;
}
}
n++;
}
printf("%d", 900-c);
getch();
}
答案 0 :(得分:0)
您的代码存在一些严重的设计缺陷。让我们从头开始:
在下限接近零的特定范围内倾倒一系列素数的最有效方法(据我所知)是使用 Eratosthenes算法。参见
Sieve of Eratosthenes algorithm in C
请注意,这是一个不同的问题,询问给定的数字是否为素数:通常通过遍历素数来解决,包括要测试的数字的平方根。