素数相关
分享关于素数方面的文章
MangataTS
一个爱折腾的Coder
展开
-
AcWing 870. 约数个数(唯一分解+组合数)
题目链接https://www.acwing.com/problem/content/872/思路我们将每一个数进行一个唯一分解后,对于每一个质因子我们统计一下数量,假设我们已经记录到了每一个质因子的数量vis[x]vis[x]vis[x]那么我们选择的情况就是从000到vis[x]vis[x]vis[x]也就是vis[x]+1vis[x]+1vis[x]+1的选择方法,我们将所有的方法数乘起来代码#include <bits/stdc++.h>using namespace std原创 2022-02-12 14:55:14 · 219 阅读 · 0 评论 -
AcWing 868. 筛质数(欧拉筛模板)
题目连接https://www.acwing.com/problem/content/870/思路欧拉筛模板,学习链接:https://acmer.blog.csdn.net/article/details/122280910代码#include<bits/stdc++.h>using namespace std;//----------------自定义部分----------------#define ll long long#define mod 1000000007#原创 2022-02-12 14:54:04 · 201 阅读 · 0 评论 -
AcWing 867. 分解质因数(唯一分解定理)
题目连接https://www.acwing.com/problem/content/description/869/思路唯一分解定理,因为每一个数都能唯一的拆分成最小质因子的积的形式,所以我们从2开始枚举因子,如果出现了因子我们就将这个因子枚举完即可,详情请看代码代码#include<bits/stdc++.h>using namespace std;//----------------自定义部分----------------#define ll long long#def原创 2022-02-12 14:53:31 · 335 阅读 · 0 评论 -
AcWing 866. 试除法判定质数(素数判定)
题目连接https://www.acwing.com/problem/content/description/868/思路对于一个数来说我们判断其是否有除1和本身外的因子实际上只需要从[2,x][2,\sqrt{x}][2,x]即可,因为因子是对称的例如6来说当我们枚举到2的时候就不必枚举3了,因为已知一个因子2,那么另一个因子必然为3,所以这就是试除法判定质数的思路和原理代码#include<bits/stdc++.h>using namespace std;#define l原创 2022-02-12 14:52:56 · 269 阅读 · 0 评论 -
区间合数的最小公倍数(质数+因数分解)
题目链接https://ac.nowcoder.com/acm/contest/23479/J题面思路对于多个数的最小公倍数,我们可以通过唯一分解定理将每个合数进行拆分,然后统计每个质因子的数量,对于每一个质因子数量我们取到最大即可,换句话说也就是统计区间内合数的唯一分解后的每一个质因子数量最多的质因子,然后最后将这些质因子乘起来例如,a=23∗35∗51a=2^3*3^5*5^1a=23∗35∗51 ,b=24∗31∗52b=2^4*3^1*5^2b=24∗31∗52 ,那么它们的最小公倍数就原创 2022-02-09 13:37:43 · 399 阅读 · 0 评论 -
牛牛做数论(素数+思维)
题目链接https://ac.nowcoder.com/acm/contest/23106/D题面思路结论对于问题一:为2、2×3、2×3×5、2×3×5×7…这些前若干个素 数的积中,最大的且不超过n的那一个,如n=233,则答案为 2×3×5×7=210对于问题二:为[2,n]中最大的素数如果n为1,直接输出-1想法对于问题一,我们要求一个使得H(x)H(x)H(x)最小的x,那么我们希望Font metrics not found for font: .尽可能地小,x尽可能的大,那原创 2022-01-27 19:09:59 · 402 阅读 · 0 评论