#include <stdio.h>
int main(void)
{
int i, num;
unsigned long counter = 0;//定义运算的次数
num = 2;
printf("%d\n", num++);//这一步跟下面的循环有什么联系吗?为什么没有输出来呢?
for (; num <= 1000; num += 2)//这个地方num+=2为什么说是只把奇数作为判断对象?
{
for (i = 2; i < num; i++)
{
counter++;
if (num % i == 0)
break;
}
if (num == i)
printf("%d\n", num);
}
printf("乘除运算的次数: %lu\n", counter);
return 0;
}
2 回答
已采纳
luofuxiang
TA贡献34条经验 获得超34个赞
解释写在代码注释里,楼主请“移目”。╰( ̄▽ ̄)╭
#include <stdio.h> int main(void) { int i, num; unsigned long counter = 0;//定义运算的次数 num = 2; printf("%d\n", num++);//这里有输出,2 就是输出的结果 //上面那句的执行流程是,先打印num(即:2),然后num自增1(即num = num +1;),此时num = 3; for (; num <= 1000; num += 2)//执行到这里时num=3,每次+2, { //判断对象的序列为3,5,7,9,...,所以说只把奇数作为判断对象 for (i = 2; i < num; i++) { counter++; if (num % i == 0) break; } if (num == i) printf("%d\n", num); } printf("乘除运算的次数: %lu\n", counter); return 0; }
L49579
TA贡献3条经验 获得超1个赞
printf("%d\n", num++);//这一步跟下面的循环有什么联系吗?为什么没有输出来呢?
//这里输出了2,然后num自加1
for (; num <= 1000; num += 2)//这个地方num+=2为什么说是只把奇数作为判断对象?
// 大于2的偶数都不是素数,因此不需要对大于2的偶数进行判断
- 2 回答
- 1 关注
- 1966 浏览
添加回答
举报
0/150
提交
取消