1-100 内素数的查找 – c语言

2022年11月6日10:59:11

暴力法:

#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;
}

         ~~希望给博主多多鼓励,后续还会推出更多算法!!

  • 作者:write_wish
  • 原文链接:https://blog.csdn.net/write_wish/article/details/120230927
    更新时间:2022年11月6日10:59:11 ,共 461 字。