for(i=2;i<n-1;i++) if(n%i==0)break 输入5,i的值为什么是5?

 我来答
zhangsonglin_c
高粉答主

2022-05-29 · 醉心答题,欢迎关注
知道大有可为答主
回答量:3.7万
采纳率:83%
帮助的人:7048万
展开全部
if (n%i==0) break;
就是i是n的因数。这是一个判断n是不是质数的程序。这个循环语句,是找n的第一个质因数。如果n的第一个质因数i,小于n-1,n是合数,否则,n是质数。
这个循环,不是中途中断,则结束时,i=n-1,因此n如果是5,循环结束,i=4,不是5。此时,n=5是质数。后面需要一个判断,if(i==n-1) n为质数。
可以将for里面的n-1,换成n,此时,循环不是中途中断的标志是i=n,判定质数的条件:
if(i〈n) n是合数;
if(i==n) n是质数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
清新又坦荡灬小熊b
2022-05-29
知道答主
回答量:5
采纳率:0%
帮助的人:7032
展开全部

你好,希望能帮到你

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式