在求3到100之间的素数的c语言题中,有一步是要开平方,是为什么?

 我来答
听不清啊
高粉答主

2017-10-31 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部
这是为了提高效率,减少判断次数。
按定义,要判定数n是一个素数,要确定n不能被2~n-1整除。事实上,若n能被2~n-1中的某个整数k整除,则它必定能被整数(n/k)整除。如果k与(n/k)不相等,则其中必有一个小于√n;
如果k与(n/k)相等,则必有k=√n。
所以只要检查2~√n,就可确定n是否素数。这可以大大提高效率,举例,要判定1000003是素数,照前面的算法,要作1000001次除法才能下判断;而用后一种算法,只要作999次除尘即可下判断。效率提高1001倍。
暑茶薯片
2017-11-09 · 超过18用户采纳过TA的回答
知道答主
回答量:40
采纳率:100%
帮助的人:18.4万
展开全部
姐姐来看看你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式