#include <stdio.h>
int main()
{
int count = 0; //计算质数的个数
//生成100到999的数,并且偶数肯定不是质数
for (int i = 101; i<1000; i += 2)
{
int falg = 0;
//生成1到i的除数
for (int j = 1; j<= i; j++) {
if(i % j == 0)
{
falg++;
}
//被第三个数整除就不是质数了,提高效率
if(falg > 2)
{
break;
}
}
if(falg == 2)
count++;
}
printf("%d\n",count);
return 0;
} //看见这道题,想起来了刚学习C语言的那段时光
//真美好啊
#include <stdio.h>
#include <math.h>
int main()
{
const int min = 100;
const int max = 999;
int i = 0;
int j = 0;
int flag = 0;
int count = 0;
for(i = min; i <= max; i++)
{
flag = 1;
for(j = 2; j <= sqrt(i); j++)
{
if(i % j == 0)
{
flag = 0;
break;
}
}
if(flag)
{
count++;
}
}
printf("%d\n", count);
return 0;
} #include <stdio.h>
int main()
{
int i=0;
int count=0;
int flag=1;
for(i=100;i<=999;i++)
{
int j=0;
for(j=2;j<i;j++)
{
if(i%j==0)
{
break;
}
}
if(i==j)
{
count++;
}
}
printf("%d\n",count);
return 0;
} #include <stdio.h>
#include <math.h>
// 判断一个数是否为质数
int is_prime(int n) {
// 1不是质数
if (n == 1) {
return 0;
}
// 2是质数
if (n == 2) {
return 1;
}
// 偶数不是质数
if (n % 2 == 0) {
return 0;
}
// 从3到sqrt(n)遍历所有奇数,看是否能整除n
for (int i = 3; i <= sqrt(n); i += 2) {
if (n % i == 0) {
return 0;
}
}
// 没有找到能整除n的数,说明n是质数
return 1;
}
int main() {
// 计数器,记录有多少个三位数是质数
int count = 0;
// 从100到999遍历所有三位数
for (int i = 100; i <= 999; i++) {
// 如果是质数,计数器加一
if (is_prime(i)) {
count++;
}
}
// 输出结果
printf("%d\n", count);
return 0;
}
#include <stdio.h>
int main()
{
int count = 0;
int flag = 0;
int i = 0, j = 0;
for(i = 100; i <= 999;i++)
{
//先计算是否能被2整除,可以减少计算量
//能被2整除说明不是质数,直接跳到下一个
if(i % 2 == 0)
{
continue;
}
else
{
for(j = 3;j< i;j+=2)
{
if(i % j == 0) //如果找到被整除的数,说明这个数不是质数,结束这层循环,跳到下一个数
{
flag = 0;
break;
}
else
{
flag = 1;
continue;
}
}
if(flag == 1)
count++;
}
}
printf("%d\n",count);
return 0;
}