任意輸入一個正整數,判斷是否為素數(C語言)


這篇博客來講講如何判斷一個正整數是否為素數。

(素數:在大於1的自然數中,除了1和它本身以外不再有其他因數的自然數;反之,則是合數。)

       

       如圖所示,首先定義三個變量:m , i , flag 。

其中,m表示這個正整數,需要人為手動輸入;

           i表示除數,i從2開始遞增,i每增1,就要用m除以i,若能夠整除則說明m除了1和它本身以外存在其他因數,m是合數;若不能整除,則m是素數;

那么如何表示一個數的素合性呢?我們定義了一個變量——flag; 

           當這個數是素數時,我們使flag=1;合數時,flag=0;

scanf("%d",&m); 不必多說,輸入一個數給m,

我們重點講一下for循環:

       首先,將i賦初值為2,且i每一次參加運算前都要進行判斷,判斷i是否<=m/2,若是,則進行循環體語句;若否,則退出for;

循環體語句中是一個if語句,判斷m能否被i整除,若能,則使flag=0,且退出循環;若不能,則i++,重新進行for語句。

接下來是一個if語句,條件是flag;如果flag=1,即判斷條件為真,則輸出“素數”;否則,輸出“合數”。

       因為本人平時練習的多是運用函數調用的方法,所以這次我並沒有用函數調用。

       下面是運行結果:

       接觸C語言半年了,第一次寫博客,如有不足,還請大家指正,感謝!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM