数论
文章平均质量分 54
Acmer之家
ACM养成之路
展开
-
Eratosthenes(埃拉托色尼)筛法
对于每个不超过n的非负整数p,删除2p,3p,4p,处理完所有的数之后,没被删除的就是素数。#include #include using namespace std;int main(){ int n; cin >> n; int * a = new int[n]; for (int i = 0; i a[i] = i;原创 2017-04-30 10:46:22 · 506 阅读 · 0 评论 -
塞瓦定理
塞瓦定理塞瓦定理是指在△ABC内任取一点O,延长AO、BO、CO分别交对边于D、E、F,则 (BD/DC)×(CE/EA)×(AF/FB)=1。原创 2017-05-13 21:54:53 · 9775 阅读 · 0 评论 -
斐波那契通项公式
斐波那契通项公式原创 2017-05-13 21:52:39 · 694 阅读 · 0 评论 -
扩展欧几里得算法
1、找出一对整数(x,y),使得ax+by=gcd(a,b).若方程ax+by=gcd(a,b)的一组解为(x0,y0),则其他解可写为(x0+k*b/gcd(a,b),y0-k*a/gcd(a,b))#include #include #include #include using namespace std;int exgcd(int a, int b, int &x,原创 2017-05-13 21:32:54 · 189 阅读 · 0 评论 -
同余与模算术
(a+b)mod p = (a mod p + b mod p) mod p (a*b)mod p = ((a mod p) * (b mod p)) mod p (a-b)mod p = ((a mod p)-(b mod p) + p) mod pa^b mod p= ((a mod p)^b) mod p结合率:((a+b) mod p + c) mod p原创 2017-05-13 21:37:50 · 405 阅读 · 0 评论 -
第二类斯特林数
第二类斯特林数定义:第二类Stirling数实际上是集合的一个拆分,表示将n个不同的元素拆分成m个集合的方案数,记为 或者 。和第一类Stirling数不同的是,集合内是不考虑次序的,而圆排列是有序的。常常用于解决组合数学中几类放球模型。描述为:将n个不同的球放入m个无差别的盒子中,要求盒子非空,有几种方案?递推式第二类Stirling数的推导和第一类Stirling数类似,可原创 2017-05-13 21:40:08 · 902 阅读 · 0 评论 -
唯一分解定理
应用:(1)一个大于1的正整数N,如果它的标准分解式为: ,那么它的正因数个数为 。(2) 它的全体正因数之和为 。当 时就称N为完全数。 是否存在奇完全数,是一个至今未解决之猜想。(3) 利用算术基本定理可以重新定义整数a和b的最大公因子 和最小公倍数 , 并证明 。(4)此外还可证明根号2是无理数等等。(5)证明素数个数无限。原创 2017-05-13 20:56:13 · 1043 阅读 · 0 评论 -
数学函数
三角函数:(所有参数必须为弧度)1.acos函数申明:acos (double x);用途:用来返回给定的 X 的反余弦函数。2.asin函数申明:asin (double x);用途:用来返回给定的 X 的反正弦函数。3.atan函数申明:atan (double x);用途:用来返回给定原创 2017-04-29 22:27:54 · 310 阅读 · 0 评论 -
欧几里得算法(辗转相除)
#include using namespace std;int gcd(int x,int y)//最大公约数{ return y==0?x:gcd(y,x%y);}int lcm(int x,int y)//最小公倍数{ return x/gcd(x,y)*y;}int main(){ int x,y; while(c原创 2017-04-30 10:56:56 · 1242 阅读 · 0 评论 -
康托展开
康托展开的公式是X=an*(n-1)!+an-1*(n-2)!+...+ai*(i-1)!+...+a2*1!+a1*0! 其中,ai为当前未出现的元素中是排在第几个(从0开始)。X为该排列在所有升序排列中排第几。 这个公式可能看着让人头大,最好举个例子来说明一下。例如,有一个数组 s = ["A", "B", "C", "D"],它的一个排列 s1 = ["D", "B", "A", "C原创 2017-05-13 22:02:44 · 252 阅读 · 0 评论