关键词:
题目描述
求关于 x 的同余方程 ax ≡ 1 (mod b)的最小正整数解。
输入输出格式
输入格式:
输入只有一行,包含两个正整数 a, b,用一个空格隔开。
输出格式:
输出只有一行,包含一个正整数 x0,即最小正整数解。输入数据保证一定有解。
输入输出样例
说明
【数据范围】
对于 40%的数据,2 ≤b≤ 1,000;
对于 60%的数据,2 ≤b≤ 50,000,000;
对于 100%的数据,2 ≤a, b≤ 2,000,000,000。
NOIP 2012 提高组 第二天 第一题
题解
顺便把欧几里得算法也写上了
证明:
其实欧几里得算法就是辗转相除法。。。
扩展欧几里得就是
代码
//by 减维 #include<cstdio> #include<iostream> #include<cstring> #include<queue> #include<cstdlib> #include<ctime> #include<cmath> #include<map> #include<bitset> #include<algorithm> #define ll long long #define maxn using namespace std; ll n,m; ll gcd(ll x,ll y) { return y?gcd(y,x%y):x; } ll exgcd(ll a,ll b,ll &x,ll&y) { if(b==0){ x=1,y=0; return a; } ll q=exgcd(b,a%b,y,x); y-=a/b*x; return q; } int main() { scanf("%lld%lld",&n,&m); ll z=gcd(n,m); n/=z,m/=z; ll x,y; ll asd=exgcd(n,m,x,y); printf("%lld",(x+m)%m); }
codevs1200noip2012—同余方程
...a的关于模p的逆 元为a^-1,则a^-1满足aa^-1≡1(modp),用扩展欧几里德即可。 关于扩展欧几里德,有 查看详情
noip2012day2
tags:扩展欧几里得二分答案查分倍增二分答案贪心NOIPcategories:信息学竞赛总结同余方程借教室疫情控制同余方程Solution 首先同余式可以转化为等式.\[ax\equiv1\modb\Leftrightarrowax+by=1\] 根据扩展欧几里得定理,对于式\[ax+by=k(a,b),k\... 查看详情
noip2012同余方程-拓展欧几里得
题目描述求关于x的同余方程ax≡1(modb)的最小正整数解。输入输出格式输入格式:输入只有一行,包含两个正整数a,b,用一个空格隔开。输出格式:输出只有一行,包含一个正整数x0,即最小正整数解。输入数据保证一定有解。&nb... 查看详情
同余方程(noip2012)
原题传送门水~纯拓展欧几里得算法。。#include<iostream>#include<cstdio>#definelllonglongusingnamespacestd;llans;inta,b;voidexgcd(inta,intb,int&x,int&y){if(b==0){x=1;y=0;return;}exgcd(b,a%b,x,y);intt= 查看详情
noip提高组2012同余方程
【算法】扩展欧几里德算法【题解】学完扩欧就可以随便水了。。。转化为不定方程ax-by=1。因为1且题目保证有解,所以方程有唯一解。紫书曰:同余方程的一个解其实指的是一个同余等价类。所以满足x≡x‘(modb)的其他x‘也是... 查看详情
codevs1200noip2012同余方程拓展欧几里德求乘法逆元模板题
模板,,,#include<cstdio>usingnamespacestd;voidexgcd(longlonga,longlongb,longlong&x,longlong&y){ if(b==0){x=1;y=0;} else{exgcd(b,a%b,x,y);intt=y;y=x-a/b*y;x=t;}}intmain(){ longlonga,b,x,y; s 查看详情
『线性同余方程和中国剩余定理』(代码片段)
...,则可以将方程改写为(ax+my=b),该不定方程可以使用扩展欧几里得算法快速地求解(详见『扩展欧几里得算法ExtendedEuclid』)。对于(gcd(a,m)ot|b)的情况,也可以直接判定为原方程无解。对于使用扩展欧几里得算法求解出来的一个解(x_... 查看详情
同余方程(扩展欧几里得)
#include<cstdio>usingnamespacestd;intx,y;intgcd(inta,intb,int&x,int&y){if(!b){x=1,y=0;returna;}intret=gcd(b,a%b,x,y);intt=x;x=y;y=t-a/b*y;returnret;}inta,b;intmain(){scanf("%d%d",&a, 查看详情
简单数论总结2——同余方程与扩展欧几里得算法(代码片段)
...是快要开学赶紧来肝上两篇今日内容——同余方程和扩展欧几里得算法同余同余的定义:若存在两个整数a,b,使得(a-b)MODP为0,则称作a与b在MODP的情况下同余换种通俗的说法,就是,aMODP与bMODP相等 记作 (aequivb(modP))... 查看详情
[noip2012]同余方程
Description求关于x的同余方程ax≡1(modb)的最小正整数解。Input输入只有一行,包含两个正整数a,b,用一个空格隔开。Output输出只有一行,包含一个正整数x0,即最小正整数解。输入数据保证一定有解。SampleInput310SampleOutput7Hint【数... 查看详情
洛谷p1082/noip2012同余方程
洛谷P1082/NOIP2012同余方程题目描述求关于x的同余方程ax≡1(modb)的最小正整数解。输入输出格式输入格式:输入只有一行,包含两个正整数a,b,用一个空格隔开。输出格式:输出只有一行,包含一个正整数x0,即最小正整数解。... 查看详情
noip2012同余方程题解
描写叙述求关于x的同余方程ax≡1(modb)的最小正整数解。格式输入格式输入仅仅有一行,包括两个正整数a,b,用一个空格隔开。输出格式输出仅仅有一行,包括一个正整数x0。即最小正整数解。输入数据保证一定有... 查看详情
同余方程2012年noip全国联赛提高组
...sp;空间限制:128000KB 题解题目描述 Description求关于x同余方程ax≡1(modb)的最小正整数解。 输入描述 InputDescription输入只有一行,包含两个正整数a,b,用一个空格隔开。 输出描述 OutputDescription输出只有一行包含... 查看详情
cogs——t1265.[noip2012]同余方程
...限制:1s 内存限制:128MB【题目描述】求关于x的同余方程ax≡1(modb)的最小正整数解。【输入格式】输入只有一行 查看详情
洛谷p1082同余方程
水题,扩展欧几里得求解即可错误原因:扩展欧几里得写炸#include<cstdio>#include<cmath>usingnamespacestd;typedeflonglongLL;LLx,y;LLa,b;LLexgcd(LLa,LLb){if(b==0){x=1;y=0;returna;}else{LLt1=exgcd(b,a%b),t=x;x=y;y=t-a/b*y 查看详情
[noip2012]提高组洛谷p1082同余方程
题目描述求关于x的同余方程ax≡1(modb)的最小正整数解。输入输出格式输入格式:输入只有一行,包含两个正整数a,b,用一个空格隔开。输出格式:输出只有一行,包含一个正整数x0,即最小正整数解。输入数据保证一定有解... 查看详情
同余方程
...马小定理做(赤裸裸的逆元啊)还记得exgcd是啥吗?扩展欧几里得算法,用来求解形似ax+by=gcd(a,b)一类方程的解。那和这个题有什么关系啊?这个题要求关于x的同余方程ax≡1(modb)的最小正整数解,我们把这个式子展开看一下。... 查看详情
luogup1516青蛙的约会(线性同余方程扩展欧几里德)(代码片段)
题意题解做了这道题,发现扩欧快忘了。根据题意可以很快地列出线性同余方程。设跳了k次x+mkΞy+nk(modl)(m-n)kΞ-(x-y)(modl)然后化一下(m-n)k+(x-y)Ξ0(modl)也就是前面一坨是l的倍数不妨设(m-n)k+(x-y)=-tl(m-n)k+tl=-(x-y)我们要求的就是保证t<... 查看详情