2010年10月26日 星期二

算質數

感覺像是以前修課在寫作業


1 #include stdio.h
2 #include stdlib.h
3
4 void calculate(int max){
5 int *result = (int*) malloc(sizeof(int) * max);
6
7 result[0] = result[1] = 0;
8 result[2] = 1;
9
10 for(int i=3; i 11 if(i%2 == 0){
12 result[i] = 0;
13 }
14 else{
15 result[i] = 1;
16 }
17 }
18
19 for(int i=3; i*i<=max; i++){
20 if(result[i]==1){
21 for(int j=i+i; j 22 result[j] = 0;
23 }
24 }
25 }
26
27 for(int i=0; i 28 if(result[i] == 1){
29 printf("%3d ", i);
30 }
31 }
32
33 }
34
35
36 int main(){
37
38 calculate(100);
39
40 return 0;
41 }

沒有留言: