如何快速判别一个数是质数还是合数

如题所述

简单的说 有两种方法
方法一、用试除法判断一个自然数a是不是质数时,用各个质数从小到大依次去除a,如果到某一个质数正好整除,这个a就可以断定不是质数;如果不能整除,当不完全商又小于这个质数时,就不必再继续试除,可以断定a必然是质数.
方法二、只要找出x为一个奇数和一个偶数平方差的形式(这是一定的)便可以a2-b2=(a+b)(a-b)便是两个因数.
例如26341,先找出比26341大的一个偶平方数,26896,与它的差是555,肯定不是平方数,再下一个平方数(其实考虑到(x+1)^2=x2+2x+1,因此直接将原数加上2x+1就行了,用不着算x+1的平方),27556, 差1215,也不是,然后28224个位与1的差为3,直接排除,下一个2559也不是(一看就知道它等于50^2+59).再下个差为3直接排出,再下个、再再下个……找出规律来就很快了,最后221^2=48841,48841-26341=22500,很明显22500=150^2,就分解出来了26341=71×371
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-20
1、把它各个位都加起来,看能不能整除三,如果能,就不是质数.
2、看它末尾是不是0,2,4,5,6,8,如果是,也不是质数.
(因为末尾是偶数的,能被2整除;5或0的,能被5整除)
3、就是要背熟100以内的质数表.
4、最后疑是的,就要除去13,17······了,但大部分依据上面几个条件就能进行判断.本回答被网友采纳
第2个回答  2020-04-18
简单的说
有两种方法
方法一、用试除法判断一个自然数a是不是质数时,用各个质数从小到大依次去除a,如果到某一个质数正好整除,这个a就可以断定不是质数;如果不能整除,当不完全商又小于这个质数时,就不必再继续试除,可以断定a必然是质数.
方法二、只要找出x为一个奇数和一个偶数平方差的形式(这是一定的)便可以a2-b2=(a+b)(a-b)便是两个因数。
例如26341,先找出比26341大的一个偶平方数,26896,与它的差是555,肯定不是平方数,再下一个平方数(其实考虑到(x+1)^2=x2+2x+1,因此直接将原数加上2x+1就行了,用不着算x+1的平方),27556,
差1215,也不是,然后28224个位与1的差为3,直接排除,下一个2559也不是(一看就知道它等于50^2+59)。再下个差为3直接排出,再下个、再再下个……找出规律来就很快了,最后221^2=48841,48841-26341=22500,很明显22500=150^2,就分解出来了26341=71×371
第3个回答  2022-09-09
简单的说 有两种方法
方法一、用试除法判断一个自然数a是不是质数时,用各个质数从小到大依次去除a,如果到某一个质数正好整除,这个a就可以断定不是质数;如果不能整除,当不完全商又小于这个质数时,就不必再继续试除,可以断定a必然是质数.
方法二、只要找出x为一个奇数和一个偶数平方差的形式(这是一定的)便可以a2-b2=(a+b)(a-b)便是两个因数.
例如26341,先找出比26341大的一个偶平方数,26896,与它的差是555,肯定不是平方数,再下一个平方数(其实考虑到(x+1)^2=x2+2x+1,因此直接将原数加上2x+1就行了,用不着算x+1的平方),27556, 差1215,也不是,然后28224个位与1的差为3,直接排除,下一个2559也不是(一看就知道它等于50^2+59).再下个差为3直接排出,再下个、再再下个……找出规律来就很快了,最后221^2=48841,48841-26341=22500,很明显22500=150^2,就分解出来了26341=71×371本回答被网友采纳
第4个回答  2019-08-19
相似回答