标签:
求关于 x 的同余方程 ax ≡ 1 (mod b)的最小正整数解。
输入格式:
输入只有一行,包含两个正整数 a, b,用一个空格隔开。
输出格式:
输出只有一行,包含一个正整数 x0,即最小正整数解。输入数据保证一定有解。
3 10
7
【数据范围】
对于 40%的数据,2 ≤b≤ 1,000;
对于 60%的数据,2 ≤b≤ 50,000,000;
对于 100%的数据,2 ≤a, b≤ 2,000,000,000。
NOIP 2012 提高组 第二天 第一题
扩展欧几里得算法的基本应用
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 main(){ 16 scanf("%d%d",&a,&b); 17 int x,y; 18 exgcd(a,b,x,y); 19 x=(x%b+b)%b; 20 printf("%d\n",x); 21 return 0; 22 }
标签:
原文地址:http://www.cnblogs.com/SilverNebula/p/5658604.html