--- tags: DICE C --- 22-5 質數個數 === > [name=CHAWTeam] 目錄:[DICE C語言程式破解](/@CHAWTeam/DiceC) 題目 --- ```! 請自訂函式countprime(),計算「小於等於某整數」的質數個數。 質數的定義為:除了1和它本身之外,沒有別的數可以整除它。 程式重複輸入,直到輸入數字小於等於1才停止。 輸入範例: 2 3 4 5 6 7 8 9 10 30 40 50 60 1 輸出範例: 1 2 2 3 3 4 4 4 4 10 12 15 17 ``` 程式碼 --- ```c= #include <stdio.h> int prime(int x) { if (x == 2) return 1; for (int i = 2; i < x; i++) { if (x % i == 0) return 0; } return 1; } int countprime(int x) { int times = 0; for (int i = 2; i <= x; i++) { if (prime(i) == 1) times++; } return times; } int main() { int x; scanf("%d", &x); while (x > 1) { printf("%d\n", countprime(x)); scanf("%d", &x); } return 0; } ``` 執行 --- ### 輸入 ```! 2 3 4 5 6 7 8 9 10 30 40 50 60 1 ``` ### 輸出 ```! 1 2 2 3 3 4 4 4 4 10 12 15 17 ``` --- [查看我們在HackMD上的所有筆記](/@CHAWTeam) 目錄:[DICE C語言程式破解](/@CHAWTeam/DiceC) --- {%hackmd Iiu5mOixR7yWkPHKCkabBg %} <iframe class="LikeCoin" height="235" src="https://button.like.co/in/embed/chawteam/button?referrer=https://hackmd.io/@CHAWTeam/DiceC-22-5" width="100%"></iframe> --- {%hackmd i1nMRrZcTFmTvoF897K9zg %}