基础数论的一些名词和定理 [未完]

Posted qixingzhi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基础数论的一些名词和定理 [未完]相关的知识,希望对你有一定的参考价值。

欧几里得算法

欧几里得算法用来快速求解两个数的最大公约数。

整除性

(a|b)表示(a)整除(b),即(b)是(a)的倍数。

 

定理1:设(a,b,c)为整数,若(a|b, a|c),则(a|(b+c))成立

证明: 设(b = sa,  c = ta(s,t为整数)),则(b+c = sa + ta = a(s+t)),故(a | (b+c))

最大公约数

 (gcd(a, b))表示(a,b)的最大公约数。

最暴力的求解最大公约数的方法是枚举(a,b)的所有公约数,并取相同的最大的公约数。但很明显太浪费时间了。

 

欧几里得是怎么做的?

要求解(gcd(a,b)),通过不断求解$ gcd(b, a  \% b) $直到$ a \% b = 0 $时,取(b)作为答案。

代码实现:

int gcd(int a, int b){
    return b==0?a:gcd(b,a%b);
}

注意为什么不用判断(a)和(b)的大小?因为当(a < b)时$ a \% b $ == (a)

 

$ S(n,k)= sumlimits_{i=0}^kC_{n/p}^{i/p}*C_{n \%p}^{i \%p} mod p $

 

以上是关于基础数论的一些名词和定理 [未完]的主要内容,如果未能解决你的问题,请参考以下文章

第二章 数论基础(未完)

「数论基础」欧拉定理(费马小定理)

LightOJ1214 Large Division 基础数论+同余定理

[基础数论]不定方程笔记

基础数论知识总结

数论基础题 费马引理+卡特兰数+Lucas定理+同余方程+扩欧