--- tags: DICE C --- 22-7 最大質數 === > [name=CHAWTeam] 目錄:[DICE C語言程式破解](/@CHAWTeam/DiceC) 題目 --- ```! 請自訂函式,輸入一正整數M,請找出小於M的最大質數,並輸出。 質數的定義為:除了1和它本身之外,沒有別的數可以整除它。(請注意:在本問題中,1被定義為質數) 程式重複輸入,直到輸入-1才停止。 輸入範例: 6 9 20 -1 輸出範例: 5 7 19 ``` 程式碼 --- ```c= #include <stdio.h> int prime(int x) { if (x >= 1) { if (x == 1) return x; if (x == 2) return x; for (int i = 2; i < x; i++) { if (x % i == 0) return 0; } return x; } else return 0; } int maxprime(int x) { int max = 0; for (int i = 1; i < x; i++) { if (prime(i) > max) max = prime(i); } return max; } int main() { int x; scanf("%d", &x); while (x != -1) { printf("%d\n", maxprime(x)); scanf("%d", &x); } return 0; } ``` 執行 --- ### 輸入 ```! 6 9 20 -1 ``` ### 輸出 ```! 5 7 19 ``` --- [查看我們在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-7" width="100%"></iframe> --- {%hackmd i1nMRrZcTFmTvoF897K9zg %}