C語言判斷素數(求素數)

2021-10-10 02:40:41 字數 822 閱讀 9077

素數又稱質數。所謂素數是指除了 1 和它本身以外,不能被任何整數整除的數,例如17就是素數,因為它不能被 2~16 的任一整數整除。

思路1):因此判斷乙個整數m是否是素數,只需把 m 被 2 ~ m-1 之間的每乙個整數去除,如果都不能被整除,那麼 m 就是乙個素數。

思路2):判斷方法還可以簡化。m 不必被 2 ~ m-1 之間的每乙個整數去除,只需被 2 ~

原因:因為如果 m 能被 2 ~ m-1 之間任一整數整除,其二個因子必定有乙個小於或等於

思路1實現:

#include int main() 

} if (m == 0) else

return 0;

}

思路2實現:

#include #include int main() 

} if (i > q) else

return 0;

}

《c與指標》4.14 - 2:

列印1~100之間所有質數:

#include int main() 

} if(divisor >= num)

} printf("\n");

return 0;

}

結果:

1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97

C語言 判斷素數

1 判斷所輸入的整數是否為素數 除1以外只能被1和它本身整除的自然數 include 包含標準庫的資訊 intmain void 每個程式都從main函式的起點開始執行 printf 是素數 n return0 2 求100 200之間的全部素數 include 包含標準庫的資訊 include 標...

求素數,判斷素數,篩法

1.判斷素數 時間複雜度 o sqrt n 空間複雜度 o 1 include include sqrt函式標頭檔案 using namespace std bool prime int n return 0 不足之處 很多數被處理了不止1遍,比如6,在素數為2的時候處理1次,為3時候又標記一次,因...

C 求質數(素數)判斷1000以內的素數

定義 素數只能被1和它自身整除的數,1不是素數 2是最小的素數 思路 求某個數n是不是素數?用for迴圈讓n依次除以 從2 n 1 之間的數,如果能被整除,則n不是素數,反之則是。bool flag 宣告乙個bool值用來判斷是否是素數 for int i 2 i 1000 i 迴圈 1000以內的...