鱼C论坛

 找回密码
 立即注册
查看: 1516|回复: 1

[已解决]c语言2—100素数

[复制链接]
发表于 2021-11-18 21:40:27 | 显示全部楼层 |阅读模式

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

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

x
#include<stdio.h>
main()
{
        int k,i,tag;
        for(i=2;i<=100;i++)
        {
                tag=0;
                for(k=2;k<i;k++)
                {
                        if(i%k==0)
                                tag=1;
                }
                if(tag==0)
                        printf("%d,",i);
        }
}

有大哥能讲讲这个嵌套怎么运行的吗(尽量详细一点),感谢!!!
为什么能打印出2,2%2不是=0吗?
最佳答案
2021-11-18 21:50:07
2-100的素数,tag是个标记,初始值为0.
素数:除了1和他本身之外不能被其他数整除的就是素数.
第二个for循环就是用来判断素数的,如果在2到要判断的i之间有被其他数整除的,说明他就不是素数,这时候标记赋值为1,待到第二个for循环完毕后,判断tag是否改变,若还为0,说明i这个数是素数,并输出
当i等于2时,到第二个for循环,k一开始也等于2,判断条件k<i这个条件并不成立,所以并没有进入第二个for循环,所以还能打印出2
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-11-18 21:50:07 | 显示全部楼层    本楼为最佳答案   
2-100的素数,tag是个标记,初始值为0.
素数:除了1和他本身之外不能被其他数整除的就是素数.
第二个for循环就是用来判断素数的,如果在2到要判断的i之间有被其他数整除的,说明他就不是素数,这时候标记赋值为1,待到第二个for循环完毕后,判断tag是否改变,若还为0,说明i这个数是素数,并输出
当i等于2时,到第二个for循环,k一开始也等于2,判断条件k<i这个条件并不成立,所以并没有进入第二个for循环,所以还能打印出2
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-23 01:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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