Re: [語法] 尋找2~1000的質數 的語法討論

看板C_and_CPP (C/C++)作者 (威爺)時間14年前 (2011/08/07 12:06), 編輯推噓4(4012)
留言16則, 11人參與, 最新討論串6/6 (看更多)
#include <stdio.h> main(){ int i, j, num; for(num=2; num< 1000; num++){ for(i = 2;i <= (num/2); i++){ if( (num%i) != 0 ) printf("the prime is %d\n",num); } } return 0; } 抱歉 我是新手 我還缺少甚麼嗎?? 有特別去爬文去看 可是還是看不懂 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.137.63.99

08/07 12:20, , 1F
int main()
08/07 12:20, 1F

08/07 13:00, , 2F
why num/2 ???
08/07 13:00, 2F

08/07 13:54, , 3F
這樣不是找出質數喲 num=6 i =4,5時也會印出來
08/07 13:54, 3F

08/07 13:55, , 4F
樓上推錯 是num =8 i=3的時候
08/07 13:55, 4F

08/07 15:01, , 5F
原PO可以試著把你想要做的做法畫成流程圖再寫成程式
08/07 15:01, 5F

08/07 15:01, , 6F
個人認為剛初學那個轉換邏輯還沒通透時可以用流程圖輔助思考
08/07 15:01, 6F

08/07 15:07, , 7F

08/07 16:54, , 8F
他可能需要重新理解 什麼是質數...
08/07 16:54, 8F

08/07 18:34, , 9F
嗯...同意樓上 , 這應該不是程式有問題
08/07 18:34, 9F

08/08 06:29, , 10F
我覺得他意思應該是要sqrt(num)..
08/08 06:29, 10F

08/08 11:02, , 11F
回1樓,我寫程式也是都直接用main()
08/08 11:02, 11F

08/08 14:38, , 12F
回一樓,這樣的寫法在舊風格裡會直接預設成return type 是
08/08 14:38, 12F

08/08 14:39, , 13F
int
08/08 14:39, 13F

08/08 17:45, , 14F
每個數最多判斷11次 需要這麼麻煩嗎?
08/08 17:45, 14F

08/11 14:49, , 15F
是2~根號(num)
08/11 14:49, 15F

08/11 22:32, , 16F
....先枚舉出前11個質數 再判斷即可 不需浪費那麼多時間..
08/11 22:32, 16F
文章代碼(AID): #1EFWzBBE (C_and_CPP)
文章代碼(AID): #1EFWzBBE (C_and_CPP)