素数问题
程序代码:
#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==10) { printf("\n"); line=0; } } }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;
}
}
帮忙解释下这几句。。。。还有那个sqrt(n)为什么不是100的开方而是101的开方?