大象流泪说明什么意思:求101~200的全部素数,其中i>=k+1意思!!!谢谢C语言进

来源:百度文库 编辑:高考问答 时间:2024/04/27 16:50:32
#include<math.h>
main()
{int m,k,i,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,或i>=k+1,程序都会运行错误,为什么呢?*/
{printf("%d ",m);n=n+1;}
if(n%10==0)printf("\n");}
printf("\n");getch();}
哦,以后只要记住凡是这样有余数的都加上1,是这样的吗

k的只是你当前外层循环也就是你当前要算的这个数是否为素数,你应该知道判断一个数是否为素数时的除数只需要算到这个数的平方根的整数就行了
if( i >= k+1 )就是判断你当前要算的除数(内层循环)是不是已经算到了这个界限 所以在平方根有余数的时候用i >= k的话肯定是不行的!
不知道这么说你能不能理解

可以这么说在做这类运算处理的时候!

这个应该从for 循环语句理解 比如 求7是不是质数, 开方为2,2<=2执行一次循环,执行完的时候加一变为3,所以才会是i>=k+1,懂了吧 !!!1

m=m+2 好像 不对啊

asd