[問題] 是否為質數的程式

看板C_and_CPP作者 (jj)時間13年前 (2012/04/06 15:24), 編輯推噓2(2010)
留言12則, 6人參與, 最新討論串1/2 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) DEV C++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 因為剛學C語言,只會用while、for、if這些簡單的語法, 不知道這樣寫,這樣寫邏輯正確嗎? 程式碼(Code):(請善用置底文網頁, 記得排版) #include <stdio.h> #include <stdlib.h> int main(){ int i=0,a=0; scanf("%d",&i); a=i-1; while(i%a!=0){ if(a>=2){ a=a-1; }else { a==1; break;} } if(a==1){ printf("%d為質數\n",i); } else{ printf("%d不為質數\n",i); } system("pause"); return 0; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.136.36.111

04/07 00:24, , 1F
你了解質數的定義嗎?
04/07 00:24, 1F

04/07 00:57, , 2F
除了輸入的數字與1以外沒有其他公因數?
04/07 00:57, 2F

04/07 01:55, , 3F
怎麼覺得你做得很複雜 就先判斷是否為奇數
04/07 01:55, 3F

04/07 01:56, , 4F
然後奇數就開始從3開始除 i+=2就好了吧
04/07 01:56, 4F

04/07 02:03, , 5F
其實是沒有大錯啦, 只是else{}根本就是多餘的
04/07 02:03, 5F

04/07 10:50, , 6F
我搞不懂的是....不知道該怎麼用for寫.....
04/07 10:50, 6F

04/07 11:22, , 7F
想再請問一個問題,我要如何用這個架構去寫出印輸入
04/07 11:22, 7F

04/07 11:22, , 8F
質以下的所有質數??
04/07 11:22, 8F

04/07 13:34, , 9F
就把i當輸入值,重複輸入i--,然後只cout為質數的
04/07 13:34, 9F

04/07 13:35, , 10F
加上一個for迴圈,輸入i的部分變成變數去跑
04/07 13:35, 10F

04/07 14:16, , 11F
會熟用FOR , WHILE , IF 就夠很多用途了
04/07 14:16, 11F

04/10 19:55, , 12F
感覺我的思考邏輯好像有點問題.....
04/10 19:55, 12F
文章代碼(AID): #1FVmgcEp (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1FVmgcEp (C_and_CPP)