急问:编写程序,从键盘输入一个整数n,如何判断此数是否是素数?
书上写的是:
让n被2到n-1中任何一个数整除,则说明n不是素数,否则n就是素数.(这句我懂)
实际上我们还可以获知,n如果不是素数的话,其最大因子是n的平方根,(开根号我不会打),所以只需让n被2到开根n之间的每个数除就可以判断了(这句我不懂.急,
想明白了.“其最大因子是n的平方根”这句话表达应该还是不对.应该怎么表达好呢?
人气:414 ℃ 时间:2019-11-07 20:06:49
解答
a * a = b
假设你先循环2到a,发现b都不能整除,这时你在循环a+1到a*a就没有意义了,因为b=a*a,所以b/(a+x)是肯定小于a的,而2到a已经循环过了不是吗?
不过一般代码里面都是循环2到b/2来求素数,比较方便
推荐
猜你喜欢
- 甲,乙,丙三个数,它们和是300.已知甲比乙大50,乙比丙大20,甲数是多少?
- 三角形中最大角a取值范围是
- 如图,每个小方格都是边长为1的小正方形,三角形ABC的位置如图所示,你能判断它是什么三角形?请说明理由
- beneficial ownership是什么意思
- 敬业与乐业中,引用孔子的“知之者不如好之者好知者不如乐知者”有何作用
- 将含有杂质【杂质不与酸反应】的锌粒20克,与足量的稀盐酸完全反应,生成氢气0.5g,试求:
- Mike paly football (every day) 对括号部分提问
- Can those ()at the back of the classroom hear me?A seat Bsit Cseated Dsat