C语言 > 构造素数表
1 #include <stdio.h> 2 #define NUMBER 1000 3 4 int main(){ 5 int isPrime[NUMBER]; 6 for (int i = 0; i < NUMBER; i++){ 7 isPrime[i] = 1; 8 } 9 int x = 2; 10 while (x < NUMBER){ 11 if (isPrime[x]){ 12 for (int i = 2; x*i < NUMBER; i++){ 13 isPrime[x*i] = 0; 14 } 15 } 16 x++; 17 } 18 for (int i = 2 ; i < NUMBER; i++){ 19 if (isPrime[i]) { 20 printf("%d\t", i); 21 } 22 } 23 return 0; 24 }
构造素数表
欲构造n以内(不含)的素数表
1. 开辟prime[n],初始化其所有元素为1,prime[x]为1 , 表⽰x是素数
2. 令x=2
3. 如果x是素数,则对于(i=2;x*i<n;i++)令prime[i*x]=0
4. 令x++,如果x<n,重复3,否则结束