Re: [語法] 尋找2~1000的質數 的語法討論
你的寫法差不多呀=]]
(不過你修掉自己的推文……)
分享一下我的寫法XDDD
暴力檢查每個數是否是質數的話
p.s. 可以略的地方挺多的,例如一開始直接輸出 2, 然後 x 只跑奇數
又如推廣的話可以直接略掉 2, 3 的倍數只檢查 6n+1, 6n-1 等
在判斷質數的迴圈部份亦如是。
for (x=2; x<=1000; x++) {
for (j=1; j*j <= x; j++);
for (i=2; i<j; i++)
if (x%i == 0) break;
if (i >= j) printf("%d\n", x);
}
再來最常見的則是篩法 (略掉 2, 3 倍數後會比線性篩法略快)
bool not_prime[1001];
for (x=2; x<=1000; x++) {
if (not_prime[x]) continue;
printf("%d\n", x);
for (i=x*x; i<=1000; i+=x)
not_prime[i] = true;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.137.68.118
推
09/14 21:34, , 1F
09/14 21:34, 1F
→
09/14 21:35, , 2F
09/14 21:35, 2F
→
09/14 21:40, , 3F
09/14 21:40, 3F
→
09/14 22:54, , 4F
09/14 22:54, 4F
推
09/14 23:11, , 5F
09/14 23:11, 5F
推
09/14 23:34, , 6F
09/14 23:34, 6F
推
09/14 23:48, , 7F
09/14 23:48, 7F
→
09/15 00:50, , 8F
09/15 00:50, 8F
→
09/15 00:50, , 9F
09/15 00:50, 9F
→
09/15 00:52, , 10F
09/15 00:52, 10F
推
09/15 01:56, , 11F
09/15 01:56, 11F
→
09/15 01:57, , 12F
09/15 01:57, 12F
→
09/15 01:57, , 13F
09/15 01:57, 13F
推
09/15 03:09, , 14F
09/15 03:09, 14F
→
09/15 03:10, , 15F
09/15 03:10, 15F
→
09/15 03:15, , 16F
09/15 03:15, 16F
→
09/15 04:08, , 17F
09/15 04:08, 17F
→
09/15 04:34, , 18F
09/15 04:34, 18F
推
09/15 04:37, , 19F
09/15 04:37, 19F
推
09/15 04:51, , 20F
09/15 04:51, 20F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 2 之 6 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章