這次的題目是輸入一個數,判斷是不是質數
題目在這http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=30752
質數判別
成績: 0 / 倒扣: 0.8
問題描述:
試撰寫一個程式,由輸入一個整數,然後判別此數是否為質數。質數是指除了 1 和它本身之外,沒有其它的數可以整除它的數,例如, 2, 3, 5, 7 與 11 等皆為質數。
輸入說明:
輸入一個正整數。
輸出說明:
質數顯示 YES ;非質數顯示 NO 。
範例:
Sample Input: |
Sample Output: |
23 |
YES |
質數就是除1跟自己以外,沒有其他的因數了
所以用一個for迴圈來寫判斷
判斷之前,要先把特例分出來
1,質數從2開始,所以for的範圍是從2開始到<input的數
如果程式這樣寫
則1不在這範圍裡,程式在執行時,因為迴圈的範圍沒包刮到
所以迴圈就不會執行,c最後是0,讓1是質數,但實際並不是
相同情況的2,因為(int i=2;i<input;i++)
2並不小於2,所以也因為範圍的原因,不執行迴圈,但2實際上是質數
所以就不用寫一個2的特定狀況
最後,程式碼
若想閱讀相關文章請關注我的粉絲團
小資菜鳥向前衝
文章標籤
全站熱搜
留言列表