鱼C论坛

 找回密码
 立即注册
查看: 615|回复: 5

[已解决]求大佬!

 关闭 [复制链接]
抢楼 抢楼 本帖为抢楼帖,欢迎抢楼! 
发表于 2021-12-17 09:53:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>

int main()
{
        int count = 2; // 已知2和3是素数
        int i, j;
        _Bool flag = 1;

        for (i = 5; i < 10000; i++)
        {
                for (j = 2; j < i / 2; j++)
                {
                        if (i % j == 0)
                        {
                                flag = 0;
                                break;
                        }
                }

                if (flag)
                {
                        count++;
                }
                else
                {
                        flag = 1;
                }
        }

        printf("10000以内共有%d个素数!\n", count);

        return 0;
}
_Bool flag = 1; flag = 0;是什么意思啊?
最佳答案
2021-12-17 10:12:30
本帖最后由 jackz007 于 2021-12-17 10:35 编辑

       flag 是旗标,在外层循环中,先为每一个 i 打个是素数的旗标(flag = 1),然后,通过内层循环枚举 i 所有可能因子 j 的方法竭力进行否定,如果得逞了,那么就说明 i 不是一个素数,就把旗标换掉(flag = 0),否则,如果对于所有的 j 竟然都无法得逞(flag = 1),那么,说明 i 就真的是一个素数了。这样,当内层循环结束的时候,根据 flag 的数值(flag = 1 素数,flag = 0 不是素数),就可以判定 i 是否是一个素数了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-17 10:11:47 | 显示全部楼层
声明了一个布尔变量flag,1就是真,0就是假
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-17 10:12:30 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2021-12-17 10:35 编辑

       flag 是旗标,在外层循环中,先为每一个 i 打个是素数的旗标(flag = 1),然后,通过内层循环枚举 i 所有可能因子 j 的方法竭力进行否定,如果得逞了,那么就说明 i 不是一个素数,就把旗标换掉(flag = 0),否则,如果对于所有的 j 竟然都无法得逞(flag = 1),那么,说明 i 就真的是一个素数了。这样,当内层循环结束的时候,根据 flag 的数值(flag = 1 素数,flag = 0 不是素数),就可以判定 i 是否是一个素数了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-12-17 10:37:40 | 显示全部楼层
jackz007 发表于 2021-12-17 10:12
flag 是旗标,在外层循环中,先为每一个 i 打个是素数的旗标(flag = 1),然后,通过内层循环枚举  ...

布尔变量是什么,有什么用?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-12-17 10:38:23 | 显示全部楼层
阿萨德按时 发表于 2021-12-17 10:11
声明了一个布尔变量flag,1就是真,0就是假

布尔变量是什么,有什么用?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-17 10:42:02 | 显示全部楼层
本帖最后由 jackz007 于 2021-12-17 11:00 编辑
何艺铧 发表于 2021-12-17 10:37
布尔变量是什么,有什么用?


       一种变量,只有 2 个值,真和假,我们常见的条件表达式的值就是布尔型变量。
       例如,a = 5 ,  b = 8, a < b 的值为真,而 a >= b 的值为假。条件 if(a < b) 就成立,if(a >= b) 就不成立。成立和不成立的原因都是因为被括号里的布尔值管着。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-9 22:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表