a13766971255 发表于 2021-7-14 12:43:26

10000以内的素数

#include <stdio.h>
#include <math.h>
int main ()
{
        long long intnum=0 ,i=2,j=2,ch;
        for (i=2;i++;i<10000)
        {
                ch=(int)sqrt(i);
                for (j=2;j++;j<ch)
                {
                        if(i%j==0)
                        {
                                num++;
                        }
                }
        }
        printf("10000以内有%d个合数",num);
}
编译没问题,但是代码哪里错了,为什么运行不出来

qiuyouzhi 发表于 2021-7-14 12:57:19

for 循环写错了
#include <stdio.h>
#include <math.h>
int main ()
{
      long long int num=0 ,i=2,j=2,ch;
      for (i=2;i<10000;i++)
      {
                ch=(int)sqrt(i);
                for (j=2;j<ch;j++)
                {
                        if(i%j==0)
                        {
                              num++;
                        }
                }
      }
      printf("10000以内有%d个合数",num);
}

Twilight6 发表于 2021-7-14 13:00:43


for 循环错了,而且第二个 for 循环应该 <= ch ,if 下面要加个 break

#include <stdio.h>
#include <math.h>
int main ()
{
    long long intnum=0 ,i=2,j=2,ch;
    for (i=2;i<10000;i++)
    {
      ch=(int)sqrt(i);
      for (j=2;j<=ch;j++)
      {
            if(i%j==0)
            {
                num++;
                break;
            }
      }
    }
    printf("10000以内有%d个合数",num);
}

a13766971255 发表于 2021-7-14 18:08:26

qiuyouzhi 发表于 2021-7-14 12:57
for 循环写错了

{:10_262:}
页: [1]
查看完整版本: 10000以内的素数