c语言判断素数为什么要用sqrt

愛不談愛 1个月前 已收到1个回答 举报

黑发长发 2星

共回答了255个问题采纳率:92.6% 评论

并不是一定要用sqrt。在编写函数判断某个数n 是否为素数时,需要使用一个循环,从2到某个数m(m<n),如果2~m之间这个范围内所有的数都不能整除n,那么n就是素数,否则就不是素数。为了提高判断的效率,就需要减少2~m这个范围,越小越好,显然m不需要取到n-1,事实上到n/2是可以的(也就是一半处),但数学上可以证明,对大多数的整数(n>4),m只需要到根号n即可,也就是sqrt(n)。

所以使用sqrt的目的是为了减少循环判断次数,其实也不是必然使用的,换成n/2也是可以的

13小时前

44
可能相似的问题
Copyright © 2024 微短问答 All rights reserved. 粤ICP备2021119249号 站务邮箱 service@wdace.com