【C語言】 經典——判斷100以內的素數


 

/*將100以內的素數用數組保存起來,再將數組里的值打印出來*/
#include <stdio.h>

int Pd_Ss(int i);

int main(){
    int a[100] = {0}; //用於存儲素數
    int i = 0,k = 0;  //用於循環的計數

    printf("100以內的素數有:\r\n");

    for(i = 2; i<=100 ;i++){  //判斷2-100的所有數
        if(Pd_Ss(i) == 1){    //調用函數判斷 如果函數返回1,則將i的值錄入數組
            a[k++]=i;         //將素數存入數組
        }
    }

    for(i = 0; i<k; i++){
        printf("a[%d]=%d\r\n",i,a[i]);  //輸出素數
    }

    printf("\r\n");    //換行
    return 0;
}

int Pd_Ss(int i){       //判斷素數的函數
    int j;

    for(j = 2;j * j <= i ; j++){ 
        if(i % j == 0){   //如果取余為0,則返回0(退出函數)
            return 0;
        }
    }

    return 1;    //返回1

}

備注:該程序代碼比較基礎,所有程序中的變量名比較隨意

判斷素數的函數(Pd_Ss)的思路:利用循環,判斷 i 的值與 j 的平方,當 j 平方小於 i 時,進入循環,判斷此時的 i 能否整除 j,如果能整除,說明 i 不是素數,返回0退出函數,否則返回 1;

 


免責聲明!

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



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