求100至200间的全部素数。
问题在中间,谢谢解答!!
#include
main()
{
int m,i,k,n=0;
for(m=101;m<=200;m=m+2)
{
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)break;
if(i>=k+1)/**************为何要i>=k+1 而且照道理改成i=k+1范围会更小,奇怪的是i=k+1时反而更多;********************/
{printf(“%d”,m);
n=n+1;}
if(n%n==0)printf(“\n”);
}
printf(“\n”);
} 奇怪就在这个地方,我改成i>k+1 就一个答案也没了。。。。。。
用手算i>=k+1这个条件,105也是符合的,可105又不是素数。
但是i>k+1又没一个是能符合的。。奇怪!!!!!!!!!!!!!!!!!
啊,明白了明白了。。i>=k+1是废的,i==k+1可以的,*的刚才少了一个等号,郁闷啊。
可是所以的版本都是i>=k+1,i根本不会超过k+1呀。。。。。
谁知道!!!!!!!!!!!!!!!!