#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;
} #include <stdio.h>
int main(){
int sum = 0;//质数个数
int i;
int j;
for(i=100;i<=999;i++){//外层从100——999的被除数
for(j=2;j<=i;j++){//内层开始从2——i的初始值结尾的除数寻找质数是否可除因子问题
if(i%j==0){//开幕雷击发现是质数存在可除因子就退出
break;
}
else if(i%j!=0){ //如果发现这个数的因子不是质数所除的//马上怀疑下一个数是否存在质数因子除数的关系
do{
if(i%j==0){//发现质数有因子可除马上退出来
break;
}
j++;
}while(i>j);//无限循环累加找质数可除以因子情况
if(i==j){//加到相同数没有发现可除的因子,证明是质数
sum+=1;
break;
}
else if(i%j==0){//累加中存在因子可除情况则退出
break;
}
}
}
}
printf("%d\n",sum);
return 0;
}