2022年1月2日
#include<stdio.h>
#include<math.h>
#define INTEGER_RANGE 100 //数字范围
int if_prime(int num);
int main()
{
int sum=0;
/* 2是最小的素数,for循环范围为2-100 */
for(int i = 2; i<=INTEGER_RANGE; i++)
{
if(if_prime(i))
sum++;
}
printf("%d以内的素数个数为:%d\n", INTEGER_RANGE, sum);
return 0;
}
/*
*判断是否为素数,是则返回1,否返回0
* */
int if_prime(int num)
{
if(num<2)
return 0; //最小的素数为2
int i = 0;
//sqrt():开方函数(一定要写小于等于)
for(i = 2; i <= sqrt(num); i++)
{
/* 如果该数有存在1以外的其他正因数,则不是素数 */
if(num % i == 0)
return 0;
}
return 1;
}
/*
未优化的if_prime(num)函数
*/
/*
int if_prime(int num)
{
int i = 0;
for(i = 2; i < num; i++)
{
if(num % i == 0)
return 0;
}
return 1;
}
*/