为了账号安全,请及时绑定邮箱和手机立即绑定

这个怎么做

5809e2bf0001218c03600640.jpg画圈的地方不理解,懂得说下谢谢

正在回答

2 回答

只有能保证仅仅被1和它本身整除的数才是素数,所以我们用双层for循环来便利查找

第一层是m也就是我们待确定的素数

第二层是n也就是我们要依次查找从2~m(n的范围)的所有数,看它们中是否有m的因子

#include <stdio.h>
int main()
{
    int m, n;
    for(m=2; m<=50; m++)//m是外层循环
    {
		for(n=2; n<m; n++)//n是内层循环
        {
            if(m%n==0)//这一句说明存在数n能被m整除,不符合素数定义,
            break;//,故此时的m必定不为素数,直接break跳出内层循环
		}	
        if(m == n) //当循环到这一步的时候,m必定没有其他因数了
            printf("%d  ", m);
	}
	return 0;    
}

望采纳

0 回复 有任何疑惑可以回复我~
#1

JustWannaHugU

这下子懂了吧
2016-10-22 回复 有任何疑惑可以回复我~

m是2~50中的某个实验数字

==符号是判断m是否和n相等,如果相等就说明该数字只能被1和它本身整除,因为这已经是第二层循环了!

0 回复 有任何疑惑可以回复我~
#1

笑丶而不语 提问者

如果这样的话直接说printf("%d",n)这样不可以吗
2016-10-21 回复 有任何疑惑可以回复我~
#2

笑丶而不语 提问者

想了一下为什么说i==j就是素数,好难理解
2016-10-21 回复 有任何疑惑可以回复我~
#3

JustWannaHugU 回复 笑丶而不语 提问者

你再看看素数的定义,跟着程序走一走就明白了
2016-10-22 回复 有任何疑惑可以回复我~
#4

笑丶而不语 提问者

是不是不加的话就是这数只能被1除没有被本身除?
2016-10-22 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消
C语言入门
  • 参与学习       926028    人
  • 解答问题       20793    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

这个怎么做

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信