#include?<stdio.h>
int?main(void)
{
int?i,?num;
unsigned?long?counter?=?0;//定義運(yùn)算的次數(shù)
num?=?2;
printf("%d\n",?num++);//這一步跟下面的循環(huán)有什么聯(lián)系嗎?為什么沒(méi)有輸出來(lái)呢?
for?(;?num?<=?1000;?num?+=?2)//這個(gè)地方num+=2為什么說(shuō)是只把奇數(shù)作為判斷對(duì)象??
{
for?(i?=?2;?i?<?num;?i++)?
{
counter++;
if?(num?%?i?==?0)
break;
}
if?(num?==?i)
printf("%d\n",?num);
}
printf("乘除運(yùn)算的次數(shù):?%lu\n",?counter);
return?0;
}
2 回答
已采納

luofuxiang
TA貢獻(xiàn)34條經(jīng)驗(yàn) 獲得超34個(gè)贊
解釋寫(xiě)在代碼注釋里,樓主請(qǐng)“移目”。╰( ̄▽ ̄)╭
#include?<stdio.h> int?main(void) { ????int?i,?num; ????unsigned?long?counter?=?0;//定義運(yùn)算的次數(shù) ????num?=?2; ????printf("%d\n",?num++);//這里有輸出,2?就是輸出的結(jié)果 ????//上面那句的執(zhí)行流程是,先打印num(即:2),然后num自增1(即num?=?num?+1;),此時(shí)num?=?3; ????for?(;?num?<=?1000;?num?+=?2)//執(zhí)行到這里時(shí)num=3,每次+2, ????{????????????????????????????//判斷對(duì)象的序列為3,5,7,9,...,所以說(shuō)只把奇數(shù)作為判斷對(duì)象 ????????for?(i?=?2;?i?<?num;?i++) ????????{ ????????????counter++; ????????????if?(num?%?i?==?0) ????????????????break; ????????} ????????if?(num?==?i) ????????????printf("%d\n",?num); ????} ????printf("乘除運(yùn)算的次數(shù):?%lu\n",?counter); ????return?0; }

L49579
TA貢獻(xiàn)3條經(jīng)驗(yàn) 獲得超1個(gè)贊
?printf("%d\n",?num++);//這一步跟下面的循環(huán)有什么聯(lián)系嗎?為什么沒(méi)有輸出來(lái)呢?
?//這里輸出了2,然后num自加1
for?(;?num?<=?1000;?num?+=?2)//這個(gè)地方num+=2為什么說(shuō)是只把奇數(shù)作為判斷對(duì)象?
// 大于2的偶數(shù)都不是素?cái)?shù),因此不需要對(duì)大于2的偶數(shù)進(jìn)行判斷?
- 2 回答
- 1 關(guān)注
- 2047 瀏覽
添加回答
舉報(bào)
0/150
提交
取消