第一种:开根号,这里不再重述 第二种:Eratosthenes筛选法 原理:利用倍数,讲非素数筛选掉 code: 1 int vis[maxn]; 2 void Prime() 3 { 4 vis[0] = 1; 5 vis[1] = 1; 6 for(int i = 2; i <= maxn; i ...
分类:
其他好文 时间:
2020-06-13 18:57:31
阅读次数:
54
题目链接 http://bailian.openjudge.cn/practice/4138/ 素数的Esieve筛选法 截图自百度百科 那这道题就可以从 s/2 的位置向前向后查找素数表,找到第一对素数就是最大的素数积。 cpp代码 ...
分类:
其他好文 时间:
2020-04-01 12:56:23
阅读次数:
89
简单的引入一下欧拉函数 素数筛选知道4种,暴力筛(逐个判断),埃拉特斯特尼筛 ,欧拉线性筛 ,一个大于5的素数一定在6的倍数周围(PS:不知道官方名是什么) 埃拉特斯特尼筛法。时间复杂度为O(n loglog n) 欧拉线性筛法 时间复杂度(o(n) ) 一个大于5的素数一定在6的倍数周围 证明: ...
分类:
其他好文 时间:
2019-08-29 13:38:26
阅读次数:
101
素数筛选法: 最近发现了一个用bool数组去判断素数的方法,很强大,速度非常之快,方法是从大佬博客:https://www.cnblogs.com/wpnan/p/4073852.html 截下来的,可以看去看一下。 内容非常清晰明了,利用bool数组去筛选也确实是普通判断素数方法的好几倍,不过观察 ...
分类:
其他好文 时间:
2019-06-28 14:36:42
阅读次数:
87
毒瘤出题人,坑了我们好久,从基本的素数筛选,到埃氏筛法,到随机数快速素数判定,到费马小定理,好好的水题做成了数论题。 结果答案是 2*n=n+3*n,特判1,2. 以下为毒瘤题目: 题目大意: 输入一个数n, 输出两个合数(即非素数)a,b 实现 n+a=b 解题思路 3n=n+2n; 特判1、2 ...
这次花点时间做了一下几个简单的模板,或许以后还会有新的模板! 1 #include<iostream> 2 #include<cmath> 3 using namespace std; 4 5 typedef long long ll; 6 const ll MAX = 0xffffffff; 7 ...
分类:
其他好文 时间:
2019-01-13 18:12:41
阅读次数:
139
题目描述: 题目大意:找出具有最大素数因子的整数。如果有不止一个,则输出在输入文件中出现最早的一个。 解题思路:刚开始时,p数组中的元素全为0,刚开始对于素数 i,p[i]=0,用一个for循环,将是素数 i 的倍数的数 的在数组p中的值全部赋值为 i; 如:第一轮:2为素数,p[2]=0,p[4] ...
分类:
其他好文 时间:
2018-11-20 22:56:10
阅读次数:
214
素数筛选法: include using namespace std; //素数打表模板 bool is_prime[100]; int main() { for(int i = 2;i ...
分类:
其他好文 时间:
2018-11-19 22:38:16
阅读次数:
170
题目链接:传送门 题目: Prime Distance Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 24073 Accepted: 6306 Description The branch of mathematics call ...
分类:
其他好文 时间:
2018-11-01 01:03:18
阅读次数:
151