当前位置: 代码迷 >> C语言 >> 这个问题没有看明白,请教大家:
  详细解决方案

这个问题没有看明白,请教大家:

热度:92   发布时间:2004-12-09 10:30:00.0
这个问题没有看明白,请教大家:

求100以内的素数

程序如下:

#include "stdio.h" #include "math.h" #define N 101 main() { int i,j,line,a[N]; for(i=2;i<N;i++) a[i]=i; for(i=2;i<sqrt(N);i++) for(j=i+1;j<N;j++) { if(a[i]!=0&&a[j]!=0) if(a[j]%a[i]==0) a[j]=0; } printf("\n"); for(i=2,line=0;i<N;i++) { if(a[i]!=0) { printf("%5d",a[i]); line++; } if(line==0) { printf("\n"); line=0;} } }

呵呵~~~,首先声明小弟对数学学的不是很好,什么为素数?为什么用宏定义来,程序中可以直接用101吗??


----------------解决方案--------------------------------------------------------
晕, 偶没看过~
----------------解决方案--------------------------------------------------------

判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

改成101也行!习惯问题吧!  


----------------解决方案--------------------------------------------------------
宏定义只不过图个方便,如果有人让你求200、400、600或者3000以内的素数的时候你只要将宏定义中的N值该为200、400、600或者3000就可以了。
----------------解决方案--------------------------------------------------------
  相关解决方案