ChaseDream
搜索
返回列表 发新帖
查看: 468|回复: 0
打印 上一主题 下一主题

jj56题看不懂呀

[复制链接]
楼主
发表于 2009-2-15 12:59:00 | 只看该作者

jj56题看不懂呀

56.  1 (DS) p is prime?
              A. the only positive factor greater than sqrt(p) is p.
              B. the only positive factor less than sqrt(p) is 1.

解:对任意一个p,设p=a*b,不妨令a<=b

如果p是一个质数,那么a=1,b=p

如果p是一个合数,那么a>1

 

i àif p=4 sqrt(p)=2, the only positive factor greater than 2 is 4. But 4 is not prime but a composite

ii àagain if p=4

 

Note: This is an interesting topics in Number theory : prime number test.就是说给定一个数p,问p是不是素数。最简单判定方法是:

如果p2,那么直接确定素数;

如果p是个偶数,显然也不是素数;

如果是奇数,那么,拿p依次除以所有小于p的数,如果有一个整除,那么这个数就不是prime;如果没有一个整除,那么p就是prime的。

但是其实并没有必要除所有小于p的数。因为p是奇数,除偶数是肯定不整除的,只需要除那些小于p的奇数就可以了。

其实还有更加简单的方法,如果p=a*ba<=b),那么可以肯定a<=sqrt(p),也就是说,如果p是一个合数,那么它的一个因子必然小于p的平方根(不然的话,这些因子的乘积会大于p了).有了这么个发现,我们就不必要依次去除小于p的奇数,仅仅依次除以小于p的平方根的奇数就可以了。

如果条件说,小于等于sqrt(p)的所有自然数里面,只有1p的因子,就说明,这些小于等于sqrt(p)且大于1的自然数 ,都不能整除p,所以p是素数。(题目里面只说了小于sqrt(p)就忽略掉了完全平方数的Case

(但愿说明白了)

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

Mark一下! 看一下! 顶楼主! 感谢分享! 快速回复:

手机版|ChaseDream|GMT+8, 2024-9-20 01:06
京公网安备11010202008513号 京ICP证101109号 京ICP备12012021号

ChaseDream 论坛

© 2003-2023 ChaseDream.com. All Rights Reserved.

返回顶部