暴力法:
#include<stdio.h>
int main(){ //暴力法 又称BF
int flag=0,sum=0;//立个flag ,素数个数总和为sum
for(int i=2;i<=100;i++){
flag=0;
for(int j=2;j<i;j++){
if(i%j==0){
flag=0;
break;
}
else flag=1;
}
if(flag) sum++;
}
printf("%d",sum+1); //2也是素数但是未算进来 ,所以最后要加一
return 0;
}
埃筛法(进大厂了解):
#include<stdio.h>
#include<string.h>
int main(){ //埃筛法
int f[100],count=0;
memset(f,0,sizeof(f));
for(int i=2;i<=100;i++){
if(!f[i]){
count++;
for(int j=i*i;j<=100;j+=i){
f[j]=1;
}
}
}
printf("%d",count);
return 0;
}
~~希望给博主多多鼓励,后续还会推出更多算法!!
本文介绍了两种求解100以内素数的方法:暴力法(BF)和埃筛法。暴力法通过两层循环检查每个数是否为素数,而埃筛法则利用更高效的算法筛选素数,提高了效率。最终分别输出100以内素数的个数。
1439

被折叠的 条评论
为什么被折叠?



