ACM数论总结

ACM数论总结数组

http://blog.csdn.net/xieshimao/article/details/6425099函数

断断续续的学习数论已经有一段时间了,学得也很杂,如今进行一些简单的回顾和总结。学习

学过的东西不能忘啊。。。.net

 

一、本原勾股数:blog

概念:一个三元组(a,b,c),其中a,b,c没有公因数并且知足:a^2+b^2=c^2get

首先,这种本原勾股数的个数是无限的,并且构造的条件知足:原理

a=s*t,b=(s^2-t^2)/2,c=(s^2+t^2)/2程序

其中s>t>=1是任意没有公因数的奇数!方法

由以上概念就能够导出任意一个本原勾股数组。im

 

二、素数计数(素数定理)

令π(x)为1到x中素数的个数

19世纪最高的数论成就就是如下这个玩意儿:

lim(x->∞){π(x)/(x/ln(x))}=1

数论最高成就,最高成就!!!有木有!!!

 

三、哥德巴赫猜测(1+1)

一个大偶数(>=4)必然能够拆分为两个素数的和,虽然目前尚未人可以从理论上进行证实,不过我根据科学家们利用计算机运算的结果,若是有一个偶数不能进行拆分,那么这个偶数至少是一个上百位的数!!

因此在ACM的世界中(数据量每每只有2^63如下)哥德巴赫猜测是成立的!!因此拆分程序必定可以实现的

 

四、哥德巴赫猜测的推广

任意一个>=8的整数必定可以拆分为四个素数的和

证实:

先来讲8=2+2+2+2,(四个最小素数的和)不能再找到比2小的素数了,因此当n小于8,就必定不可能拆分为四个素数的和!

那么当n大于等于8,能够分状况讨论:

(1)n&1==0(n为偶数),那么n就必定能够拆分为两个偶数的和

那么根据哥德巴赫猜测,偶数能够拆分为两个素数的和,因而,n必定能够拆分为四个素数的和

(2)n&1==1(n为奇数),n必定能够拆分为两个偶数+1

因为有一个素数又是偶数,2,那么奇数必定有以下拆分:2+3+素数+素数

得证。

 

五、欧拉函数(欧拉公式)

欧拉函数ph(n)的意思是全部小于n且与n互质的数的个数

好比说ph(12)=4,[1,5,7,11与12互质]

欧拉公式

a^ph(m)=1(mod m)

 

六、费马小定理

费马小定理是欧拉公式的一种特殊状况

因为当p为质数的时候ph(p)=p-1这是显然的

那么带入欧拉公式就获得了费马小定理

a^(p-1)=1(mod p)

p为质数(prime)

 

七、抽屉原理

抽屉原理实际上是废话,关键在于运用

这句废话是说,若是如今有3个苹果,放进2个抽屉,那么至少有一个抽屉里面会有两个苹果,这个很废话。

 

八、抽屉原理的运用

抽屉原理自己只是一句废话,不过他的运用却很是强大

如今假设有一个正整数序列a1,a2,a3,a4.....an,试证实咱们必定可以找到一段连续的序列和,让这个和是n的倍数,该命题的证实就用到了抽屉原理

咱们能够先构造一个序列si=a1+a2+...ai

而后分别对于si取模,若是其中有一个sk%n==0,那么a1+a2+...+ak就必定是n的倍数(该种状况得证)

下面是上一种状况的反面,即任何一个sk对于n的余数都不为0

对于这种状况,咱们能够以下考虑,由于si%n!=0

那么si%n的范围必然在1——(n-1),因此原序列si就产生了n个范围在1——(n-1)的余数,因而抽屉原理就来了,n个数放进n-1个盒子里面,必然至少有两个余数会重复,那么这两个sk1,sk2之差必然是n的倍数,

而sk1-sk2是一段连续的序列,那么原命题就获得了证实了

 

九、判断n!是否可以被m整除

计算方法是把m进行质因数分解,看下m的每个质因数是否可以在n!中找到;

n!中间包含了多少个x(x是任意的一个数,不过通常状况下咱们都只讨论x为质数),这种问题的答案是: n/x+n/(x^2)+n/(x^3).....[一直加到x的乘方不超过n],这个定理的证实也很是的简单,这里就再也不赘述了

根据以上观点,就能够分别计算m的每个质因数是否被彻底包含,若是有一个没有被包含,那么就不能被整除!

 

十、因子和的计算方法

神马叫因子和:一个数的因此因子的和就叫因子和。。。

好吧,举个例子:12的因子和为:1+2+3+4+6+12

计算方法是把12分解为质因数的表达形式2^2*3

那么他的因子和就是:(1+2+2^2)*(1+3)

证实写起来比较麻烦,大致上思路就是牛顿二项式。。。

 

十一、判断组合数C(n,m)的奇偶性

有一个我也不知道证实的方法

当n&m==m为奇数,反之就是偶数

相关文章
相关标签/搜索