#include<stdio.h>
int prime(int);
int main() {
int n = 100;
printf("%d",prime(n));
return 0;
}
int prime(int n){
int m;
for(n=100; n<=1000; n++){
for(m=2; m<1000 ; ++m){
if(n%m != 0)
return n;
}
}
}
想了很久不知道哪個部份出了問題,
希望有人能替我解答!
非常感謝
#include<stdio.h>
int prime(int);
int main() {
int n = 100;
for (n=100; n<=1000; n++){
int temp = prime(n);
if (temp != 0)
printf("%d ",prime(n));
}
return 0;
}
int prime(int n){
for(int m=2; m<n ; ++m){
if(n%m == 0)
return 0;
}
return n;
}
把其中一個for迴圈拿到main即可,然後部分程式碼進行些微調整
#include<stdio.h>
int main(int argc, char *argv[]) {
int n;
int q;
int p,p1;
int r,r1;
int s,s1;
int t,t1;
int x,x1;
for(n=2; n<=500; n++){
p = n * 2;
r = n * 3;
s = n * 5;
t = n * 7;
x = n * 11;
p1 = ~p;
r1 = ~r;
s1 = ~s;
t1 = ~t;
x1 = ~x;
for(q=-100; q>=-1000; q--){
if(((q==p1)||(q==r1)||(q==s1)||(q==t1)||(q==x1))){
// printf("%d\n",q); //檢查篩選數值
if(q % 2){
// printf("%d\n",q); //檢查篩選數值
if(q % 3){
// printf("%d\n",q); //檢查篩選數值
if(q % 5){
// printf("%d\n",q); //檢查篩選數值
if(q % 7){
printf("%d\n",q); //檢查篩選數值
}
}
}
}
}
}
}
return 0;
}
這是質數顯示方法之一,還有一些瑕疵需自行修正,給各位參考看看,感恩。