zoukankan      html  css  js  c++  java
  • ACM数论总结

    ACM数论总结

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

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

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

    1、本原勾股数:

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

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

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

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

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

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

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

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

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

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

    3、哥德巴赫猜想(1+1)

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

    所以在ACM的世界中(数据量往往只有2^63以下)哥德巴赫猜想是成立的!!所以拆分程序一定能够实现的

    4、哥德巴赫猜想的推广

    任意一个>=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+素数+素数

    得证。

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

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

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

    欧拉公式

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

    6、费马小定理

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

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

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

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

    p为质数(prime)

    7、抽屉原理

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

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

    8、抽屉原理的运用

    抽屉原理本身只是一句废话,不过他的运用却非常强大

    现在假设有一个正整数序列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是一段连续的序列,那么原命题就得到了证明了

    9、判断n!是否能够被m整除

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

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

    根据以上观点,就可以分别计算m的每一个质因数是否被完全包含,如果有一个没有被包含,那么就不能被整除!

    10、因子和的计算方法

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

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

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

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

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

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

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

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

  • 相关阅读:
    CSS中position小解
    position
    mac默认安装postgresql, 如何让postgresql可以远程访问
    The data directory was initialized by PostgreSQL version 9.6, which is not compatible with this version 10.0.
    active admin gem error
    psql 无法添加超级用户
    ubuntu 15.04 安装Balsamiq Mockups 3
    Rails html 写public里图片的路径
    rails c 历史命令
    undefined local variable or method `per' for []:ActiveRecord::Relation
  • 原文地址:https://www.cnblogs.com/xl1027515989/p/3569697.html
Copyright © 2011-2022 走看看