c++编程代码求解

发布网友 发布时间:2022-04-23 17:36

我来回答

6个回答

热心网友 时间:2023-10-11 07:33

这里不是3个flag 是一个flag

flag起到标识作用 为1表示是质数 为0表示不是质数

首先初始化为1 然后在循环里如果能被2-K的数整除 即i%j == 0 说明他有非0因子 不是质数 所以会 flag归0

最后if判断flag 如果是1 就输出质数 如果是0 则不

热心网友 时间:2023-10-11 07:33

程序是输出100以内的素数,flag是标记(和if一起用时起个开关作用,),
默认值为1,即默认打开,输出正被判断的数i(i即为素数);
当i能被比它小的数整除时,flag=0,即关闭输出(i不是素数,不输出)。

热心网友 时间:2023-10-11 07:34

一般来说 flag是用来表示标记

不同数值代表不同含义

在这里flag表示 质数1 合数 0

在这里flag默认为1

如果函数出现整除的情况 if(i%j == 0)

修改标记位为1

输出时判断如果标记位为1 if (flag)

输出是质数

热心网友 时间:2023-10-11 07:34

程序中的flag仅仅是作为一个标识来用,最后如果flag为0表示该数可以被3和5整除,要是为-1表示不能为3和5整除。

热心网友 时间:2023-10-11 07:35

2楼说的很详细 flag不是3个 只是起标识作用的一个变量罢了 1表示是质素 0表示不是质数

热心网友 时间:2023-10-11 07:36

你看 i=2的时候执行的是
while(i <= 100)
{
flag = 1;
k = sqrt(i); 是一个范围
j = 2; 在j<=k时 且i/2 =0 的时候就不是质数 所以flag=0 所以不打印
flag=1
意思是当flag=1的时候就是质数
flag=0的时候是不做
if (flag)
cout << i << "是质数." << endl;
i++;
这个的
if (flag) 括号里表示是真 意思就是1的时候执行

能懂吗?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com