gcd算法:求小于n的所有质数 素数定理 [1,N]中素数的个数约为NlgN。 则从[1,N]中人选一个数,其为质数的概率为1/lgN。 素数的判断 试除法:O( \(\sqrt n\) ) 原理:约数成对出现(完全平方数除外) 算数基本定理 任意一个整数都能被分解为如下形式: \(n=p^{k_{ ...
转载
2021-09-25 20:02:00
85阅读
2评论
整除理论:唯一分解定理,对于一个合数,唯一存在一种质数分解。应用在算法复杂度估,存在 x...
原创
2023-02-03 11:19:45
96阅读
1.模运算*做减法时候为了避免出现负数,需要(a-b)mod m=((a mod m)-(b mod m)+m) mod m*除法取模需要逆
原创
2022-11-07 15:36:55
104阅读
快速幂非递归版importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){//TODO自动生成的方法存根Scannersc=newScanner(System.in);intt=sc.nextInt();for(inti=0;i{longb=sc.nextLong();longc=1000000007;lon
原创
2021-02-03 21:49:27
299阅读
基础数论笔记 笔者年尚十四,水平极为有限,该笔记主要基于《具体数学》,并对一些部分作出了一些不那么令人费解的解释,望大家指出错误,感激不尽。 整除性 \(\gcd(n,m)=\max\{~k~|~~k~|~n~,~k~|~m\}\) \(\text{lcm}(n,m)=\min\{~k~|~~k>0 ...
转载
2021-08-07 17:06:00
82阅读
2评论
1、如果a,b为非零整数,若存在a*q=b,那么说b可以被a整除,记作a|b; ...
转载
2021-08-20 20:49:00
104阅读
2评论
1.欧几里得算法(辗转相除法)递归写法:int gcd(int a,int b){ if(b == 0) return a; else returlcm(a,b) = (a*b)/g...
原创
2023-02-24 08:40:21
169阅读
最近写到一些基础数论题, 发现一个可怕的事实 基础数论的理论我都懂,但是连最基础的板子都有可能敲错 所以特意停下手中的题,进行基础数论的实现First.欧几里得(辗转相除)int gcd(int a,int b){ int r=a%b; while (r)...
转载
2017-09-12 21:20:00
102阅读
2评论
最近写到一些基础数论题, 发现一个可怕的事实 基础数论的理论我都懂,但是连最基础的板子都有可能敲错 所以特意停下手中的题,进行基础数论的实现First.欧几里得(辗转相除)int gcd(int a,int b){ int r=a%b; while (r)...
转载
2017-09-12 21:20:00
104阅读
2评论
之前都没有怎么理解,现在来复习一下。 费马小定理 对于任意质数 \(p\) 和任意整数 \(a\) 满足 \(\gcd(a,p)=1\),有 \(a^{p-1}\equiv 1\pmod p\)。 引理 1 对于任意三个正整数 \(a,b,c\) 满足 \(\gcd(c,m)=1\),若 \(ac\ ...
转载
2021-04-11 23:01:00
187阅读
2评论
欧几里得算法 gcd,\(O(\log n)\) ll gcd(ll a, ll b) {return b ? gcd(b, a % b) : a;} lcm,\(O(\log n)\) // 注意数据范围,过大的数要用__int128 ll lcm(ll a, ll b) {return a * ...
转载
2021-09-03 13:58:00
317阅读
2评论
##数论基础 ###gcd 最大公约数 \((Greatest Common Divisor)\),常缩写为 \(gcd\) 。 ####欧几里得算法(辗转相除法) 如果已知两个数,求两者的最大公约数 \(gcd(a,b)\) 。 设 \(a>=b\),如果 \(b\) 是 \(a\) 的因数,则 ...
转载
2021-08-04 22:53:00
83阅读
2评论
欧拉定理 若 \(a,p\) 互质,则 \(a^{\phi(p)} \equiv 1(mod~p)\) 其中 \(\phi(p)\) 表示的是小于等于 \(p\) 中和 \(p\) 互质的数的个数。 \(\phi(p) = p\times \prod \frac{s_i - 1}{s_i}\) ,其 ...
转载
2021-08-14 17:15:00
126阅读
2评论
咕,因为懒所以按照lyd的蓝书来整理了,在此基础上加了一些其他的东西(比如一个 \(\sqrt{\sqrt{n}}\) 的神奇算法 ) 质数 质数 如果说一个正整数除了 \(1\) 和它本身以外没有任何自然数可以整除它,那么这个数就是一个质数,也叫素数。 然后假设一个集合 \(S=\mathbb{N ...
转载
2021-08-23 22:22:00
148阅读
2评论
wls 有一个整数 n,他想将 1 − n 这 n 个数字分成两组,每一组至少有一个数,并且使得两组数字的和的最大公约数最大,请输出最大的最大公约数。 Input 输入一行一个整数 n。 2 ≤ n ≤ 1, 000, 000, 000 Output 输出一行一个整数表示答案。 Sample Inp
转载
2019-08-03 01:55:00
132阅读
2评论
文章目录欧几里得最小公倍数筛法求质数(质数筛)算术基本定理多重集的排列数欧几里得# 欧几里 O(N)# 可以得到2-n内的
原创
2022-07-01 12:28:55
228阅读
做了半天都是超时,一直在想怎么用位运算减少时间,最后无奈看答案,发现居然有公式!!! 数论的题目好多都是套格式,知道公式一步到位,不知道想到死都想不出来
转载
2017-03-04 20:33:00
73阅读
密码学真是太难了,还剩两个月就要考试了,趁现在感紧复习一下密码学吧,不然要挂科了(滑稽(●'◡'●))。一起复习,相位猛冲,起飞! .
转载
2021-07-25 16:44:00
840阅读
2评论
数论基础的补充解说 整除的一些性质: (1)能被2整除的数,个位上的数都能被2整除 (2*)能被4整除的数,个位和十位所组成的两位数能被4整除 (3*)能被8整除的数,百位、十位和个位所组成的三位数能被8整除 (4)能被5整除的数。末尾是0或5 (5*)能被25整除的数。十位和个位所组成的两位数能被
转载
2017-05-21 15:53:00
125阅读
2评论
快速幂求,时间复杂度LL qmi(int a, int b, int p)
{
LL res = 1 % p;
while (b)
{
if (b & 1) res = res * a % p;
a = a * (LL)a % p;
b >>= 1;
}
return res;
}应用:求逆
原创
2023-04-04 09:05:58
148阅读