C语言之素数的判断
//输出1到2000内的全部素数 #include <stdio.h> #include <math.h> #define i 2000 void main() { int m,k; int count=0; int flag; for(m=2;m<i;m++) { for(k=2;k<=sqrt(m)+1;k++) //先判断不是素数 反之就是素数 { if(m%k==0) flag=0; else flag=1; if(flag) { printf(" %d ",m); count++; } if((count)%7==0) printf("\n"); break; } }
注明:设置一个标志 一旦能被除1和自己本身的数除尽 那么就不是素数,反向思维