题目:打印出100-200之间的素数
素数是只能被1和自身整除的数。
分析:按照定义,素数也就是除了1和自身以外,不能被其余数字整除,也就是说如果 num%任意一个数(除了1和自身)都不能等于0。
所以程序第一步判断是否为素数
if(num%i==0)为0时不为素数。
该程序有两个循环部分,其中是100-200之间的数的循环,另一个是求余数的循环(该循环由2开始至num-1时结束)
考虑循环的嵌套
首先 要确认的数 应该进行循环,for(num=100;num<201;num++)先确定具体数字。
然后进行运算循环,确认该数字是否为素数。
#include<stdio.h>
int main()
{
int num,i;(确定两个变量,一个是被求的数,另一个是被除的数)
for(num=100;num<201;num++)(写出被求数的自增循环)
{
for(i=2;i<num,i++)(被除数的自增循环)
{
if(num%i==0)(通过运算是否确认是否是素数,如果结果为0,则表示不是素数,立即跳出循环)
break;
}
if(num==i)(跳出循环有两种情况,一种是完成取余运算的素数,另一种是跳出循环的非素数,按照被除数自增循环的设定,跳出循环的数一定小于被除数,而完成整个运算的素数一定与i相等(自动跳出循环的条件))
printf("%d ",num);
}
}
方法2
int main()
{
int num,i;
for(num=100;num<201;num++)
{
if((num%2!=0)&&(num%3!=0)&&(num%5!=0)&&(num%7!=0))(正整数中,最小的被除数就是2,3,5,7,如果不能被这4个数整除,一定是素数)
printf("%d "num);
}
}