拓展/欧几里德
zzti_xiaowei
xxx
展开
-
证明欧几里德(辗转相除法)算法
---《百科》证明的很好,直接Copy过来了、原创 2018-02-07 09:55:57 · 421 阅读 · 0 评论 -
证明拓展欧几里德算法
拓展欧几里德定律: 对于不完全为 0 的非负整数 a,b,gcd(a,b)表示 a,b 的最大公约数,必然 存在整数对 x,y ,使得 gcd(a,b)=ax+by。证明:设 a>b。1,显然当 b=0,gcd(a,b)=a。此时 x=1,y=0;2,a>b>0 时设 ax1+ by1= gcd(a,b); bx2+ (a mod b)y2= gcd(b,a mod...原创 2018-02-10 14:29:23 · 271 阅读 · 0 评论 -
Light oj-1306 Solutions to an Equation
[经典题目]:给出方程ax+by+c=0,求出有多少对整数解(x, y),满足x1≤x≤x2,y1≤y≤y2。[思路]:首先,对方程ax+by+c=0,讨论其特例。[1] 如果a=0,b=0,并且c≠0,则无解。如果a=0,b=0,并且c=0,则整数根的数目为((x2- x1+1)*( y2- y1+1))。[2] 如果a=0并且b≠0,则by=c。如果c 不是b的倍数,或c/b不是[y...原创 2019-02-01 12:54:57 · 249 阅读 · 0 评论 -
Poj-2115 C Looooops
[题解]:拓展欧几里得求解一元线性同一方程模板题,刚开始学,比着解析求出了方程的一组解,想着要怎么求出最小非负整数解呐?实在是想不出来,各种博客看看,对一元线性同余方程有了进一步的认识。感谢konjac蒟蒻大佬写的博客~#include<iostream>#include<cstdio>#include<cstring&am原创 2019-02-02 23:16:00 · 181 阅读 · 0 评论 -
Zoj-3609 Modular Inverse
[思路]拓展欧几里得求模逆元模板题,注意求的是最小非负整数,结果为0时,要加上m。方程a*x≡1(mod m)的通解为:x=x0+k*m 每个解都是模m同余的,先求到一个特解,一顿操作(x%m+m)%m即可即可求到最小值。#include<iostream>#include<cstdio>#include<cstring>#include&原创 2019-02-03 11:42:46 · 151 阅读 · 0 评论 -
Poj-2773 Happy 2006
[思路]:gcd(b*t+a,b)= gcd(a,b)(t为任意整数)如果a与b互素,则b*t+a与b也一定互素,如果a与b不互素,则b*t+a与b也一定不互素。故与m互素的数对m取模具有周期性,则根据这个方法我们就可以很快的求出第k个与m互素的数。假设小于m的数且与m互素的数有k个,其中第i个是ai,则第m*k+i与m互素的数是k*m+ai。#include<iostream>...原创 2019-01-31 10:52:39 · 227 阅读 · 0 评论