首页 > 代码库 > [NOIP2012] 提高组 洛谷P1082 同余方程
[NOIP2012] 提高组 洛谷P1082 同余方程
题目描述
求关于 x 的同余方程 ax ≡ 1 (mod b)的最小正整数解。
输入输出格式
输入格式:输入只有一行,包含两个正整数 a, b,用一个空格隔开。
输出格式:输出只有一行,包含一个正整数 x0,即最小正整数解。输入数据保证一定有解。
输入输出样例
输入样例#1:
3 10
输出样例#1:
7
说明
【数据范围】
对于 40%的数据,2 ≤b≤ 1,000;
对于 60%的数据,2 ≤b≤ 50,000,000;
对于 100%的数据,2 ≤a, b≤ 2,000,000,000。
NOIP 2012 提高组 第二天 第一题
ax-by=1
扩展欧几里得算法。
1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<cmath> 5 using namespace std; 6 int a,b; 7 void exgcd(int a,int b,int &x,int &y){ 8 if(b==0){ 9 x=1;y=0;10 return;11 }12 exgcd(b,a%b,x,y);13 int t=x;x=y;y=t-a/b*y;14 }15 /*int exgcd(int a,int b,int &x,int &y){16 if(b==0){17 x=1;y=0;18 return a;19 }20 int res=exgcd(a,a%b,y,x);21 y-=a/b*x;22 return res;23 }*/24 int main(){25 scanf("%d%d",&a,&b);26 int x,y;27 exgcd(a,b,x,y);28 x=(x%b+b)%b;29 printf("%d\n",x);30 return 0;31 }
[NOIP2012] 提高组 洛谷P1082 同余方程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。