乐知者 发表于 2019-9-14 11:46:43

萌新求助!!关于1000以内素数的个数!

#include <stdio.h>

int main()
{
        int num = 1000;
        int i, j;
        bool flag = 1;
        int count = 2;
       
        for(i = 5; i <= 1000; i++)
        {
                for(j = 2; j <= i / 2; j++)
                {
                        if(i % j == 0)
                        {
                                flag = 0;
                                break;
                        }
                }
               
                if (flag)
                        count++;
        }
        {:10_269:}{:10_269:}
        printf("1000以内有%d个素数", count);
}
求问为什么我的结果一直是3啊???只有三个素数。。。{:10_277:}

冬雪雪冬 发表于 2019-9-14 15:59:29

某次循环如果能整除,则flag为0,下次i循环并没有初始化为1,使if (flag)永远为为假
页: [1]
查看完整版本: 萌新求助!!关于1000以内素数的个数!