附上代码
#include <stdio.h>
int sum(int number);
int main() {
int a,m,i,g;
int n = 200;
int prime[n];
for(i=2;i<n;i++){
prime[i] = 1;
}
for(a=2;a<n;a++){
g = sum(a);
if(g==0){
for(m=2;am<n;m++){
prime[ma]=0;
}
}
for(i=0;i<n;i++){
if(prime[i]==1){
printf("%d\n",i);
}
}
}
return 0;
}
int sum(int number){
int b;
int x;
int i=number-1;
for(;i>1;i--){
x = number%i;
if(x==0){
b=1;
break;
}else {
b=0;
}
return b;
//b=0则是素数
}
}
修改如下,供参考对照:
#include <stdio.h>
int sum(int number);
int main() {
int a, m, i, g;
const int n = 200;
int prime[n];
for (i = 2; i < n; i++) {
prime[i] = 1;
}
for (a = 2; a < n; a++) {
g = sum(a);
if (g == 0) {
for (m = 2; a*m < n; m++) {
prime[m*a] = 0;
}
}
}
for (i = 0; i < n; i++) {
if (prime[i] == 1) {
printf("%d\n", i);
}
}
return 0;
}
int sum(int number) {
int b=0;
int x;
int i = number - 1;
for (; i > 1; i--) {
x = number % i;
if (x == 0) {
b = 1;
break;
}
}
//else {
if(i==1) b = 0;
//}
return b;
//b=0则是素数
}