所谓素数就是指在大于1的自然数中,除了1和它本身外不再有其他因数的自然数。
在for (i = 2; i <= n-1; i++)这个for循环中,它为判断一个数是否为素数起了决定性作用。
作用是:遍历除了1和这个数本身外在它们之间的数,并用if语句进行进一步的判断。
n%i==0意思是:输入的这个数存在除了1和这个数本身外的其它数能跟它整除,若满足if条件,即n不为素数,break跳出。
第二个if语句i>=n意思是:在除了1和这个数,它们之间不存在其它能被整除的数,即为素数,打印素数n。
具体代码实现如下:
先声明函数is_prime(),再去调用函数。
int is_prime(int n)
{
int i = 0;
for (i = 2; i <= n-1; i++)//遍历1和n之间的数
{
if (n % i == 0)//n不为素数
{
break;
}
}
if (i >= n)//n为素数
{
printf("%d ", n);
}
return 1;
}
int main()
{
int a = 0;
for (a = 100; a <= 200; a++)//查找100~200之间的素数
{
is_prime(a);//调用上面的函数
}
return 0;
}