数论东西很多又很杂,所以想要总结一下,有一些算法的百度百科讲得很清楚,所以我就直接给了个链接在这(其实是懒23333),方便自己复习吧。 欧几里得算法 "百度百科" 辗转相除法求gcd与lcm 使用辗转相除算出gcd后,lcm可以直接通过gcd算出,但是注意求lcm的过程可能爆int,建议使用lon ...
分类:
其他好文 时间:
2019-01-23 21:28:38
阅读次数:
211
1.欧几里得算法(辗转相除法) 直接上gcd和lcm代码。 2.扩欧:exgcd:对于a,b,一定存在整数对(x,y)使ax+by=gcd(a,b)=d ,且a,b互质时,d=1。 x,y可递归地求得。 我懒得改返回值类型了 求解 x,y的方法的理解: 设 a>b。1,显然当 b=0,gcd(a,b ...
分类:
其他好文 时间:
2019-01-21 22:54:24
阅读次数:
228
求解最大公约数常用欧几里得算法(即辗转相除法) 设a、b均为正整数,则$gcd(a,b)=gcd(b,a\%b)$ 证明:设$a=kb+r$,其中k和r分别为a除以b得到的商和余数。则有$r=a-kb$成立。 设d为a和b的一个公约数,那么由$r=a-kb$,得d也是r的一个约数。因此d是b和r的一 ...
分类:
其他好文 时间:
2019-01-11 19:00:02
阅读次数:
158
欧几里得算法: 百度百科:欧几里德算法又称辗转相除法,是指用于计算两个正整数a,b的最大公约数。应用领域有数学和计算机两个方面。计算公式gcd(a,b) = gcd(b,a mod b)。 代码实现如下: ...
分类:
编程语言 时间:
2019-01-10 21:44:39
阅读次数:
615
基本操作:设a<b,a÷b=q...r1 若r1=0,则最大公约数为r1 若r1!=0,则b÷r1=q...r2 r1÷r2=q...r3 直到rn为0为止 示例:280 380 280÷380=0...280 380÷280=1...100 280÷100=2...80 100÷80=1...20 ...
分类:
其他好文 时间:
2018-12-04 19:58:52
阅读次数:
177
第二道绿题 这次大概真正懂了 看题面: 先了解一下公式 ax≡1(modb) ≡为恒等 这个公式翻译过来就是一个不定方程 ax+by=1 如果了解扩展欧几里得就知道这是一道exgcd的模版题//gg说的emmm 那我们先来了解一下gcd和扩展gcd吧(毕竟我本人当初也不会 gcd: 又称为辗转相除法 ...
分类:
其他好文 时间:
2018-11-17 14:35:34
阅读次数:
155
2018-11-12 20:11:11 数学,特别是数论和计算机科学有着密切的联系,所以也常被选做题材。虽然数学问题大多需要使用特定方法求解,但其中有几个基础算法扮演着重要的角色。 一、辗转相除法 1、求最大公约数 让我们来看一下如下的问题。 问题描述: 给定平面上的两个格点P1(x1, y1)和P ...
分类:
其他好文 时间:
2018-11-14 01:09:12
阅读次数:
171
F: 取数游戏III 题目描述 小 C 刚学了辗转相除法,正不亦乐乎,这小 P 又出来捣乱,给小 C 留了个 难题。 给 N 个数,用 a1,a2…an来表示。现在小 P 让小 C 依次取数,第一个数可以 随意取。假使目前取得 aj,下一个数取ak(k>j),则ak必须满足gcd(aj,ak)≥L。 ...
分类:
其他好文 时间:
2018-11-08 00:21:46
阅读次数:
120
一、欧几里得算法(辗转相除法) 二、扩展欧几里得算法 在求a,b的gcd的同时求出一组特解 x,y满足方程 ax + by = gcd(a,b) 三、关于方程 ax + by = c 若gcd(a,b) | c,则方程有解,否则无解。 【解法】先运用扩展欧几里得算法求出ax + by = gcd(a ...
分类:
编程语言 时间:
2018-10-10 22:09:41
阅读次数:
246