-5

它的打印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();
}
4

1 回答 1

0

您的代码有一些严重的设计缺陷。让我们从头开始:

最有效的方法(据我所知)在一定范围内倾倒一系列素数,其下限接近于零是使用埃拉托色尼筛算法。看

C中的埃拉托色尼筛算法

请注意,这与询问给定数字是否为素数是不同的问题:这通常通过遍历素数直到并包括要测试的数字的平方根来解决。

于 2013-10-23T19:21:18.093 回答