素数(prime number)也叫质数,是大于1 且 只能被1和它本身整除的数
假设这个数为num
方法1:
判断num是否为素数,最直接的方法是判断它是否只能被1和它本身整除,也就是说在 (1,num) 这个区间内,没有数能整除num,
那么,只需要通过for循环,遍历1~num之间的数,与num相除,若都是不可以整除的,那么这个数便为素数
代码如下:
#include<stdio.h>
int main()
{
int i = 0;
for (i = 100; i <= 200; i++)
{
int j = 0;
for (j = 2; j < i; j++)
{
if (i%j == 0)
{
break;
}
}
if (j >= i)
printf("%d ",i);
}
return 0;
}
方法2:
第一种方法过于复杂,其实完全没必要遍历所有数啊,判断素数还有一种方法:只要num不能被小于等于num的平方根(当然也得大于1)的所有数整除,那么num就是素数。为什么呢?想一想,一个数已经不能整除num了,那么那个数的平方又怎么可以整除num,比如5和2;能整除就不用说了,因为可以整除必然不是素数
这一种方法省去了很多次循环,效率也提高了很多
代码如下:
#include <stdio.h>
#include <math.h>
int main()
{
int i = 0;
for (i = 100; i <= 200; i++)
{
int j = 0;
for (j = 2; j <= sqrt(i); j++)
{
if (i%j == 0)
{
break;
}
}
if (j >= sqrt(i))
{
printf("%d ", i);
}
}
return 0;
}