急问:编写程序,从键盘输入一个整数n,如何判断此数是否是素数?
书上写的是:
让n被2到n-1中任何一个数整除,则说明n不是素数,否则n就是素数.(这句我懂)
实际上我们还可以获知,n如果不是素数的话,其最大因子是n的平方根,(开根号我不会打),所以只需让n被2到开根n之间的每个数除就可以判断了(这句我不懂.急,
想明白了.“其最大因子是n的平方根”这句话表达应该还是不对.应该怎么表达好呢?
人气:216 ℃ 时间: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来求素数,比较方便
推荐
猜你喜欢
- 如果你是当时航海家郑和,请你设计一条郑和远航的路线图
- 一个小球由静止开始在一个斜坡上向下滚动,其速度每秒增加3m 小球速度V(M/S)与时间T(S)之间的关系为
- 一个圆锥形的麦堆,底面周长为12.56M,5m,如每立方米麦子重850kg,求这些麦子重多少kg?假如把麦子扑在地
- 用分配方法证明Y的2次方-12Y+42的值恒大于0
- 1、一个数的30%是120,这个数是多少?
- 找规律填数:1,8,( ),41,85,( )
- 青春作伴好还乡全诗及作者
- "行万里路,读万卷书"的意思是_____________.