(C語言)判斷n是否為素數

2021-09-29 23:43:53 字數 526 閱讀 8831

題目:輸入乙個大於3的整數n,判斷它是否為素數。(輸出yes/no)

例如,輸入4,輸出no;

輸入7,輸出yes。

錯誤輸入,則輸出error。所有輸出沒有回車符號。

乙個只能被他自身或者1整除的數稱為素數

這裡還有乙個簡便的方法是:設乙個數m,m 不必被 2 ~ m-1 之間的每乙個整數去除,只需被 2 ~ 之間的每乙個整數去除就可以了。如果 m 不能被 2 ~ 間任一整數整除,m 必定是素數。例如判別 17 是是否為素數,只需使 17 被 2~4 之間的每乙個整數去除,由於都不能整除,可以判定 17 是素數。

#include

#include

int main(int argc, char *ar**)

k = (int)sqrt ((double)num);//sqrt內的數必須是double型,因此必須要加上這個,然後強轉換為int型。

for(int i = 2; i <= k; i++)

}if(a == 0)else

return 0;

C語言 判斷是否為素數

include void main else if isprime 1 else else 當輸入的是 1時,結束程式的判斷 while a 1 編寫這個程式的時候遇到了兩個小問題,問題一是 當我單次輸入數字 5 判斷它是否為素數時,結果是正確的 而當我連續輸入數字判斷時,判斷到 5 後結果卻是錯的...

C語言練習之判斷是否為素數

題目要求 輸入乙個整數n,判斷他是否為素數 質數 分析 採用的演算法是,讓n除以i,如果n能被2 n 1 之中的任何乙個整數整除,則表示n肯定不是素數,不必再繼續被後面的整數除,因此,可以提前結束迴圈。如下 include stdio.h void main if i 跳出迴圈後判斷是因為1跳出的迴...

C語言判斷乙個數是否為素數

素數又稱質數。所謂素數是指除了1和它本身以外,不能被任何整數整除的數,例如17就是素數,因為它不能被2 16的任一整數整除。思路1 因此判斷乙個整數m是否是素數,只需把m被 2 m 1 之間的每乙個整數去除,如果都不能被整除,那麼m就是乙個素數。思路2 另外判斷方法還可以簡化。m不必被 2 m 1 ...