一些数论知识

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为奇数,反之就是偶数

就总结到这儿了。

以前大一也总结过一片类似的,不过那时候之总结了一点关于欧几里得算法之类的。

——bingshen

一些数论知识

时间: 2024-11-10 01:25:41

一些数论知识的相关文章

数论知识整理

代码均未经过编译!!!(不用编译啦) 默认: #define ll long long 快速幂 正整数a,b,p,求a^b(mod p)的值,时间复杂度O(logb) ll ksm(ll a, ll b, ll p) { ll c = 1 % p; a %= p; while (b) { if (b & 1) c = c * a % p; a = a * a % p; b >>= 1; } return c; } 最大公约数 正整数a,b,求a,b的最大公约数,时间复杂度在log级别

数论知识总结——史诗大作(这是一个flag)

1.快速幂 计算a^b的快速算法,例如,3^5,我们把5写成二进制101,3^5=3^1*1+3^2*2+3^4*1 1 ll fast(ll a,ll b){ll ans=1;for(;b;b>>=1,a=mul(a,a))if(b&1)ans=mul(ans,a);return ans;}//一行快速幂 2.快速乘 当模数较大时,直接乘会爆掉long long,需要快速乘法. 即用浮点计算倍数,做差相当于计算余数模2^63的结果,然后再模一下就好了(因为余数不超过long long

bzoj 1951 [Sdoi2010]古代猪文(数论知识)

Description “在那山的那边海的那边有一群小肥猪.他们活泼又聪明,他们调皮又灵敏.他们自由自在生活在那绿色的大草坪,他们善良勇敢相互都关心……” ——选自猪王国民歌 很久很久以前,在山的那边海的那边的某片风水宝地曾经存在过一个猪王国.猪王国地理位置偏僻,实施的是适应当时社会的自给自足的庄园经济,很少与外界联系,商贸活动就更少了.因此也很少有其他动物知道这样一个王国. 猪王国虽然不大,但是土地肥沃,屋舍俨然.如果一定要拿什么与之相比的话,那就只能是东晋陶渊明笔下的大家想象中的桃花源了.猪

bzoj 2242 [SDOI2011]计算器(数论知识)

Description 你被要求设计一个计算器完成以下三项任务: 1.给定y,z,p,计算Y^Z Mod P 的值: 2.给定y,z,p,计算满足xy≡ Z ( mod P )的最小非负整数: 3.给定y,z,p,计算满足Y^x ≡ Z ( mod P)的最小非负整数. Input 输入包含多组数据. 第一行包含两个正整数T,K分别表示数据组数和询问类型(对于一个测试点内的所有数据,询问类型相同). 以下行每行包含三个正整数y,z,p,描述一个询问. Output 对于每个询问,输出一行答案.对

HDU5152 线段树 + 数论

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5152 ,线段树区间更新 + 点更新 + 数论知识(数论是重点QAQ),好题值得一做. BestCoder Round #24的C题,一道神题,不得不说,出题人的数论学的很好,很多人都没想到2333333不是素数的问题,当时全场爆零.我今天下午开始研究这道题,后来看了好久的标程才懂,惭愧. 一共有两个操作一个询问:1.询问[l , r]区间里的值的和; 2.将点x的值a[x]赋为2a[x]; 3.将区

数论篇 卷一 未知的世界

我爱学习,学习使我快乐. 然而数学使我吐血. 本篇将会粗略整理一些基础数论知识,并汇总博主做过的一些数学知识要求高的题目. 但到目前为止,博主什么都不会,所以这里基本什么也没有. 一.欧几里得算法 二.扩展欧几里得算法 三.欧拉函数 四.莫比乌斯反演 五.中国剩余定理 六.博弈论

Ural1110(数论)

题目链接:点击打开链接 解题思路: 用到数论知识,不然的话可能就要JAVA开大数·····鉴于我JAVA这么弱,还是用数学知识吧! (i * i * i * ····*i) % m ==( ( (i % m) * i % m) ····)%m.总之就是最后不要忘记循环结束后还要对m取一次余. 完整代码: #include <algorithm> #include <iostream> #include <cstring> #include <climits>

【bzoj3210】花神的浇花集会 数论

题目描述 在花老师的指导下,每周4都有一个集会活动,俗称“浇水”活动. 具体浇水活动详情请见BZOJ3153 但这不是重点 花神出了好多题,每道题都有两个参考系数:代码难度和算法难度 花神为了准备浇花集会的题,必须找一道尽量适合所有人的题 现在花神知道每个人的代码能力x和算法能力y,一道题(代码难度X算法难度Y)对这个人的不适合度为    Max ( abs ( X – x ) , abs ( Y – y ) ) 也就是说无论太难还是太简单都会导致题目不适合做(如果全按花神本人能力设题,绝对的全

XidianOJ 1098 突击数论前的xry111

题目描述 xry111发现自己的数论知识不太行,于是准备回顾一下以前学过的数论知识后开始学习高深数论以便解决暗黑数学题.回顾过程中,xry111发现欧拉函数挺有用的(欧拉函数是指:对于一个正整数n,小于n且和n互质的正整数(包括1)的个数,记作φ(n)),xry111刚学欧拉函数时每次求φ(n)时总是习惯从1枚举到n-1,然后依次判断其是否合法.所以对于某些比较大的数,当年的xry111常常数数数到头晕.但是现在作为一个可以讲课可以写题解的xry111来说,他想知道某个数的欧拉值已经不必再一个一