素数,只能被1和自身整除。
第一种方法,直接对输入的数字,进行双for循环判断。
int main()
{
int i=0;
for(i=2;i<=200;i++)//第一个for循环,控制需要判断的数字
{
int j=0;
for(j=2;j<i;j++)//第二for循环,进行判断,i与2->i-1进行取模,j为i时跳出循环
{
if(i%j==0)//存在模数为零,跳出循环
break;
}
if(i==j)//跳出内循环时,判断此时i的值与j的值,如果两者相同,则为素数
printf("%d ",i);
}
return 0;
}
第二种方法,由于素数均出现在奇数中,所以先把偶数的去掉。
int main()
{
int i=0;
for(i=3;i<=200;i++)//2是偶数,但是2却是素数
{
if(i%2==0)//先进行判断,如果是偶数,直接跳过,执行下一个循环
continue;
else
{
int j=0;
for(j=2;j<i;j++)
{
if(i%j==0)
break;
}
if(i==j)
printf("%d ",i);
}
}
return 0;
}
自我反省,如有错误,敬请谅解并指出。