以下是引用学c在2007-11-7 17:45:56的发言: #include int main(void) { int i,j,k; printf("%d\n",1);1肯定是素数 for(i=1;i<=100;i+=2) { for(j=2;j if(i%j==0) break; if(i==j) printf("%d\n",i); } return 0; } 时间复杂度高了 ----------------解决方案-------------------------------------------------------- 以下是引用学c在2007-11-7 17:45:56的发言: #include int main(void) { int i,j,k; printf("%d\n",1);1肯定是素数 for(i=1;i<=100;i+=2) { for(j=2;j if(i%j==0) break; if(i==j) printf("%d\n",i); } return 0; } 1 不是素数 ----------------解决方案-------------------------------------------------------- /* 判断素数的函数 */ long sushu(long n) { long i; for(i = 2; i <= n / 2; i++) { if(n % i == 0) return 0; } if(n > 1) return n; return 0; } ----------------解决方案-------------------------------------------------------- 有点不明白,i+=2的意义是什么呢,能注释一下吗 for(j=2;j if(i%j==0) break; if(i==j) 这两句的意思是什么呢,用在这边求什么呢 为什么1这个素数不能跟,1以上的素数,一起输出吗, 要分开输出呢 ----------------解决方案-------------------------------------------------------- 1不是素数. 还有偶数一定不是素数(除2外) 素数要检测的只要对已求得的素数做判断就行. ----------------解决方案-------------------------------------------------------- i+=2相当于i=i+2; for(j=2;j if(i%j==0) break;/*是排除能被小于i的自然数整除的数*/ if(i==j) /*如果从2到小于i的数都不能整除i,即为素数*/ 就打印出来 ----------------解决方案-------------------------------------------------------- for(j=2;j if(i%j==0) break; if(i==j) 这意思是i与j取模的值如果是0,就返回。如果i等于j就做下面的 哈哈,我也是新手,楼主:我对吗? ----------------解决方案-------------------------------------------------------- 以下是引用cosdos在2007-11-7 18:53:41的发言: /* 判断素数的函数 */ long sushu(long n) { long i; for(i = 2; i <= n / 2; i++) { if(n % i == 0) return 0; } if(n > 1) return n; return 0; } 兄弟少了个循环吧 ----------------解决方案-------------------------------------------------------- int main() { int i,j; printf("100内的素数包括:\n"); for(i=2;i<=100;i++) { for(j=2;j<=sqrt(i);j++) { if(i%j==0) break; } if(j>sqrt(i)) { printf("%d,",i); } } printf("\n"); return 0; } ----------------解决方案-------------------------------------------------------- main() { int i,j; clrscr(); //清屏函数 printf("1,2\n"); for(i=2;i<100;i++) { for(j=2;j { if(i%j==0) goto loop; //goto语句 } printf("%d\n",i); loop: ; //这有一个空语句 } getch(); //显示结果 } 这个可以输出素数哦. ----------------解决方案--------------------------------------------------------