求100~200之间的素数
Posted yhc99
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求100~200之间的素数相关的知识,希望对你有一定的参考价值。
首先来说一下素数的定义:只能被1和本身整除的数称为素数。
来看代码:
#include <stdio.h> main() { int m, i, n=0; //m表示需要判断的数字, i表示被m除以的数(即为判断数),n记录次数 for (m=101; m<=200; m=m+2) { if(n%10==0)printf("\n"); //表示每输出10个数换一行 for(i=2;i<m;i++) //此处 i<m 是指被除数应该小于除数,即m应该跟比自己小的数字判断 if(m%i==0)break; //当m%i==0时,此时m不为素数了。 if(i>=m) //重点理解: i通过前面的if语句循环到m-1时都未能break退出函数,说明此时的m为素数,即i=m时可以输出m的值 { printf("%d\t",m); n=n+1; } } printf("\nprime number =%d\n",n); }
解析代码: 为什么此处是i>=m :
if(i>=m) //重点理解: i通过前面的if语句循环到m-1时都未能break退出函数,说明此时的m为素数,即i=m时可以输出m的值
{
printf("%d\t",m);
n=n+1;
}
此前已经有一个for循环语句了,当m%i==0时退出当前循环,但是如果能运行到if()语句这里,说明前面没有能使m被整除的数,即m为素数。
届时只需要if(i >= m)成立输出m就行
以上是关于求100~200之间的素数的主要内容,如果未能解决你的问题,请参考以下文章