素数的判断方法总结

目录

素数介绍

试除法

埃氏筛

欧拉筛

素数介绍

判断一个数n是不是素数:当n<=10^{14}时,用试除法;当n>10^{14}时,试除法不够用,需要用高级算法。

试除法

[2,\sqrt{n}]内的所有数去试除n,如果都不能整除,就是素数。

bool is_prime(long long n){
	iff(n<=1){
		return false;
	}
	for(long long i=2;i*i<=n;i++){
		if(n%i==0){
			return false;
		}
	}
	return true;
}

埃氏筛

埃氏筛主要是将质数的倍数进行一连串的筛出去,因为质数的倍数一定不是质数。 

int prime[N],cnt;
bool bprime[N];
void getPrime(int n){
	memset(bprime,false,sizeof(bprime));
	bprime[0]=true;
	bprime[1]=true;
	for(int i=2;i<=n;i++){
		if(!bprime[i]){
			prime[++cnt]=i;
			for(ll j=i*2;j<=n;j+=i){
				bprime[i]=true;
			}
		}
	}
}

埃氏筛中会出现数字重复计算的问题,可以使用欧拉筛解决。

欧拉筛

int prime[N],cnt;
bool bprime[N];
void getPrime(int n){
	memset(bprime,false,sizeof(bprime));
	for(int i=2;i<=n;i++){
		if(!bprime[i]){
			prime[++cnt]=i;
		}
		for(int j=0;j<cnt&&i*prime[j]<n;j++){
			bprime[i*prime[j]]=true;
			if(i%prime[j]==0){//避免了重复计算某些数字
				break;
			}
		}
	}
}

相关推荐

  1. 判断素数方法

    2024-04-03 04:08:02       27 阅读
  2. 判断素数方法大全

    2024-04-03 04:08:02       62 阅读
  3. (c语言)素数判断方法

    2024-04-03 04:08:02       66 阅读
  4. C语言判断一个数是否为素数三种方法(详细)

    2024-04-03 04:08:02       47 阅读
  5. js类型判断方法总结

    2024-04-03 04:08:02       35 阅读
  6. 判断质数(素数):

    2024-04-03 04:08:02       48 阅读
  7. 判断素数/质数

    2024-04-03 04:08:02       28 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-03 04:08:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-03 04:08:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-03 04:08:02       82 阅读
  4. Python语言-面向对象

    2024-04-03 04:08:02       91 阅读

热门阅读

  1. 免试生常问的一些问题汇总---专升本学习篇

    2024-04-03 04:08:02       39 阅读
  2. python内置函数 Z

    2024-04-03 04:08:02       38 阅读
  3. Nginx-记

    Nginx-记

    2024-04-03 04:08:02      34 阅读
  4. 第7单元日考

    2024-04-03 04:08:02       35 阅读
  5. LeetCode104.二叉树的最大深度

    2024-04-03 04:08:02       40 阅读
  6. mysql 存储过程示例

    2024-04-03 04:08:02       42 阅读
  7. 以下哪个变量不是指针类型

    2024-04-03 04:08:02       29 阅读
  8. LeetCode-41. 缺失的第一个正数【数组 哈希表】

    2024-04-03 04:08:02       42 阅读
  9. nginx输出日志配置与查看

    2024-04-03 04:08:02       38 阅读
  10. 论微服务架构及应用

    2024-04-03 04:08:02       37 阅读