为了账号安全,请及时绑定邮箱和手机立即绑定

帮帮忙看看,请问flag==1 在C++中什么意思?具体情况在下面

帮帮忙看看,请问flag==1 在C++中什么意思?具体情况在下面

慕运维8079593 2021-07-07 10:07:02
这个是C++的一个程序:#include <iostream>using namespace std;int main(){int prime(int); /* 函数原型声明 */int n;cout<<"input an integer:";cin>>n;if (prime(n))cout<<n<<" is a prime."<<endl;elsecout<<n<<" is not a prime."<<endl;return 0;}int prime(int n){int flag=1,i;for (i=2;i<n/2 && flag==1;i++)if (n%i==0)flag=0;return(flag);}最后的:for (i=2;i<n/2 && flag==1;i++)是什么意思啊?flag==1谢谢
查看完整描述

3 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

是个判断条件,如果等于1继续循环,否则跳出循环。
int prime(int n)是一个判断是否为素数的函数,其中flag是一个标记,当flag==1时为还未试出n的因数,当flag==0时为己经找到n的因数,则判断他不是素数。
素数指的是只能被1或本身整除的数。for (i=2;i<n/2 && flag==1;i++)是从2开始试商直到n/2(n无法整除比n/2大的数)当发现n的因数时把flag的值设为0,使其后的循环结束(己确定n为合数),flag==1的话那么这个数为素数。

查看完整回答
反对 回复 2021-07-11
?
慕妹3242003

TA贡献1824条经验 获得超6个赞

int prime(int n)是一个判断是否为素数的函数,flag是一个标记,当flag==1时为还未试出n的因数,当flag==0时为己经找到n的因数。
素数指的是只能被1或本身整除的数
for (i=2;i<n/2 && flag==1;i++)是从2开始试商直到n/2(n无法整除比n/2大的数)当发现n的因数时把flag的值设为0,使其后的循环结束(己确定n为合数)



查看完整回答
反对 回复 2021-07-11
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

判断flag 是否为1,为1的话返回真,for循环继续
0的话返回假,退出for循环,执行下一条语句return(flag);
这是一个判断是否为素数的函数,没有错误

查看完整回答
反对 回复 2021-07-11
  • 3 回答
  • 0 关注
  • 613 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信