扩展欧几里得模板

 1 long long x,y,gcd;
 2 void extend_gcd(long long  a, long long b)
 3 {
 4     if(b == 0)
 5     {
 6         x = 1;
 7         y = 0;
 8         gcd = a;
 9     }
10     else {
11         extend_gcd(b, a%b);
12         long long temp = x;
13         x = y;
14         y = temp - a/b*y;
15     }
16 }

为了保证求出的x是正整数,通常需要加上:x=(x%mod+mod)%mod

posted @ 2015-07-19 18:16  JoneZP  阅读(100)  评论(0编辑  收藏  举报