0011 用篩選法求100以內的素數


問題描述:

  用篩選法求100以內的素數。

算法分析:

  定義一個數組n[100],其中素數標為0,非素數標為1. 如果是2,3的倍數標記為0.

代碼展示:

 1 #include<stdio.h>
 2 #define NUM 100
 3 int main(){
 4     int a[NUM+1];
 5     int i,j;
 6     for(i=2; i<=NUM; i++){        //初始化數組 
 7         a[i] = 1;
 8     } 
 9     for(i=2; i<=100; i++){        //標記非素數的數 
10         if(a[i] == 1){
11             for(j=2;i*j<=100;j++){
12                 a[i*j] = 0;
13             }
14         }
15     }
16     for(i=2; i<=100; i++){        //循環輸出 
17         if(a[i] == 1)
18             printf("%d ",i);
19     }
20     return 0; 
21 }

運行結果:

 


免責聲明!

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



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