找质数的简便方法(如何判断一个数是不是质数程序)

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

:判断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<a×b(a,b为连续质数,且a<b)时,如果N不是2或3或5,…或a这些连续质数的倍数,则N是质数;

因此,判断一个较大的整数N是不是质数,其做法是:找到两个连续的质数a,b(a<b),使得N最接近于ab,且N<ab,然后一一验证N是否能被所有小于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;(质数)

本站部分文章来自网络或用户投稿,如无特殊说明或标注,均为本站原创发布。涉及资源下载的,本站旨在共享仅供大家学习与参考,如您想商用请获取官网版权,如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
投稿

目前最顶级的游戏显卡(显卡ti代表什么)

2023-10-28 17:27:20

投稿

关于联想s100笔记本参数(联想s100怎么升级配置)

2023-10-28 17:27:58

搜索