用筛选法求1000内的素数
1.先将1挖掉
2.用2除它以后的各个数,把能被2整除的数挖掉
3.依次处理3,4,5,6------sqrt(n)的数
4.挖掉的数设为0,不为0的数就是素数。(用数组存储)
#include<stdio.h>
#include<math.h>
int main(void){
int number[1000];
for(int i=0;i<1000;i++)
number[i]=i+1;
number[0]=0;//delete 1 1 is not prime.
for(int i=1;i<sqrt(1000);i++){
if(number[i]==0)
continue;
for(int j=i+1;j<1000;j++){
if(number[j]%number[i]==0)
number[j]=0;
}
}
printf("primes are ");
for(int i=0;i<1000;i++){
if(number[i]!=0)
printf("%d ",i+1);
}
printf("\n");
}