使用c语言实现求1到100之间的素数并打印。
运行结果:
运行代码:
#include <stdio.h>
#include <conio.h>//锁住cmd框
#include <stdbool.h>//调用bool类型
#include <math.h>//调用sqrt函数
//在循环中,遍历的范围是从 2 到 x 的平方根。这是因为如果存在大于 x 的平方根的因子,那么该因子的另一个乘数一定小于 x 的平方根。因此,只需要检查小于等于 x 的平方根的数即可。
//如果 x 能被任何小于等于它的平方根的数整除,那么它一定能被大于它的平方根的数整除。因此,只需要检查小于等于 x 的平方根的数即可确定是否为素数。
//如果找到一个能整除 x 的数 j,那么 x 不是素数,因为它存在一个小于等于它的平方根的因子 j。
//如果循环结束都没有找到能整除 x 的数,那么 x 是素数,因为没有小于等于它的平方根的因子。
bool is_prime(int x)//bool类型,实现函数求质数的功能。
{
int j=0;
for ( j = 2; j <= sqrt(x); j++)
{
if(x%j==0)
{
return false;
}
}
return true;
}
int main()
{
int i=0;
for ( i = 2; i <= 100; i++)
{
if (is_prime(i))
{
printf("质数:%d\n",i);
}
}
getch();
return 0;
}