各种数论定理
来源:互联网 发布:caffe实现fcn 编辑:程序博客网 时间:2024/05/24 00:01
小技巧
当算某个数的阶乘或者算很大的次方的时候,可以将数字转换为10^n的进制表示方法(比如1000进制或者10000进制),这样出来点的数字和原答案是一样的,只不过在一个数组的一个元素中多存了几位。
约数个数定理
首先,n可以分解质因数:n=p1^a1×p2^a2×p3^a3*…*pk^ak,
由约数定义可知p1^a1的约数有:p1^0, p1^1, p1^2……p1^a1 ,共(a1+1)个;同理p2^a2的约数有(a2+1)个……pk^ak的约数有(ak+1)个。
故根据乘法原理:n的约数的个数就是(a1+1)(a2+1)(a3+1)…(ak+1)。
欧拉函数
通式:
其中p1, p2……pn为x的所有质因数,x是不为0的整数。
φ(1)=1(唯一和1互质的数(小于等于1)就是1本身)。
约数和定理
对于一个大于1正整数n可以分解质因数:n=p1^a1*p2^a2*p3^a3*…*pk^ak,
则由约数个数定理可知n的正约数有(a₁+1)(a₂+1)(a₃+1)…(ak+1)个,
那么n的(a₁+1)(a₂+1)(a₃+1)…(ak+1)个正约数的和为
f(n)=(p1^0+p1^1+p1^2+…p1^a1)(p2^0+p2^1+p2^2+…p2^a2)…(pk^0+pk^1+pk^2+…pk^ak)
求1~n的最小公倍数**
从1开始记录到达当前值的最小公倍数,如果前一个的最小公倍数能整除当前值,则最小公倍数不变,否则*当前值除过1之外的最小约数,因为到当前值为止,假设到n了,m是n的最小约数(除了1),则n/m肯定在前面出现过,又要求最小公倍数,所以当前的最小公倍数是,抢一个的最小公倍数*m。
数论线性筛法总结
包括素数筛,欧拉函数筛,莫比乌斯函数筛,前n个数的约数个数筛。
费马平方和定理
奇质数能表示为两个平方数之和的充分必要条件是该质数%4==1及4k+1的形式。
拉格朗日四平方和定理
每个正整数均可表示为4个整数的平方和。
m个不同的盒子内放入n个相同的小球的方案数(可以有空盒)
当不能有空盒时先给每一个盒子内放1个然后剩下的小球按照上面的方法方就好了
排列组合公式
新方法打逆元表
void init() { F[0] = 1; for(int i = 1; i < MX; i++) { F[i] = (F[i - 1] * i) % mod; } invF[MX - 1] = power(F[MX - 1], mod - 2); for(int i = MX - 2; i >= 0; i--) { invF[i] = invF[i + 1] * (i + 1) % mod; } }
从1到n所有值的异或值
if n % 4 == 0值为n
if n % 4 == 1值为1
if n % 4 == 2值为n+1
if n % 4 == 3值为0
unsigned xor_n(unsigned n){ unsigned t = n & 3; if (t & 1) return t / 2u ^ 1; return t / 2u ^ n;}
杨辉三角
第n行第m个数是
一个数的所有约数(包括自己)的欧拉函数之和,等于这个数本身的值
根据日期计算星期几
int judge(int y,int m,int d)//返回星期几{ if(m==1||m==2) { m+=12; y--; } return ((d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7)+1;}
k1和k2互素,结论是k1*k2和k1+k2也是互素的。
错排公式
ans[1]=0; ans[2]=1; ans[3]=2; for(int i=4;i<=20;i++) ans[i]=(i-1)*(ans[i-1]+ans[i-2]);
四大定理
1.威尔逊定理
2.欧拉定理
phi(n),小于n和n互素的数字个数。
在 [1,n] 中与 n 互素的数的和为:
3.费马小定理
4.费马大定理
当整数n >2时,关于x, y, z的方程
从0开始每次跳a步,上限是m-1,可以无限次的跳,则跳过得值是gcd(m,a)的倍数
持续更新中………
- 数论各种小定理
- 各种数论定理
- 数论中的各种定理(待更新)
- 数论定理
- BZOJ 1951: [Sdoi2010]古代猪文 (数论各种定理)
- 【数论】数论四大定理
- 【数论定理】卢卡斯定理
- 初等数论重要定理
- 数论-中国剩余定理
- 数论/中国剩余定理
- 数论中的若干定理
- 数论的一些定理
- 数论 + 容斥定理
- 数论中四方定理
- 数论中的定理
- 数论四大定理
- 【数论】中国剩余定理
- 【数论】欧拉定理
- MongoDB整合Spring Boot 的logback
- Codeforces Round #411 (Div. 2)
- [P1979]华容道
- js中 "==" 和 "==="
- 程序设计思维
- 各种数论定理
- Linux压缩解压命令详细介绍(gizp、tag、zip、bzip2)
- 添加ppa源后导致update无法下载
- 网易2017 跳石板问题
- ionic3框架开发之-SRM移动应用之通讯录开发
- Android根据byte数组,生成图片,图片名字以当前时间作为名字
- Nginx配置SSI
- OutOfMemoryError异常总结
- 2017 Multi-University Training Contest