c++ 判断一个数是不是五位数_如何判断一个数是不是质数?

fc0b882b089846c3625bdfbebfa10420.png

:判断2017是质数还是合数?

分析:如果判断一个比较小的正整数是不是质数比较容易,我们通常只需要用2,3,5,7,11,13这些质数去除这个数,如果都不能整除,则该数是质数,如果其中某一个数能够整除它,则是合数。

比如,143,因为143÷11=13,所以143不是质数,是合数;

再比如,157,因为157都不能被2,3,5,7,11整除,所以157是质数。

但2017是一个不大不小的数,如果仅检验出它不能被2,3,5,7,11,13这些连续的质数整除,我们是不能判断它就是质数的。因为它有可能被大一点的质数整除。

究竟要检验到能否被多大质数整除才能判断是否为质数呢?

假设所判断的整数为N,

当N<2×3时,如果N不是2的倍数,则N是质数;

当N<3×5时,如果N不是2或3的倍数,则N是质数;

当N<5×7时,如果N不是2或3或5的倍数,则N是质数;

当N<7×11时,如果N不是2或3或5或7的倍数,则N是质数;

当N<11×13时,如果N不是2或3或5或7或11的倍数,则N是质数;

一般地,当N

因此,判断一个较大的整数N是不是质数,其做法是:找到两个连续的质数a,b(a对于2017来说,因为2017<43×47,

而2017都不能被43,41,37,31,29,23,19,17,13,11,7,5,3,2整除,

所以2017是质数。

练习:判断下列各数是不是质数?

(1)1999(质数)

(2)2021(合数)

(3)2179;(质数)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值