P2613 【模板】有理数取余

匿名 (未验证) 提交于 2019-12-03 00:16:01

P2613 【模板】有理数取余

 1 #include <bits/stdc++.h>  2 using namespace std;  3 typedef long long ll;  4 const int p = 19260817;  5 inline ll read() {  6     ll res = 0;  7     char ch = getchar();  8     while(!isdigit(ch) and ch != EOF)  9         ch = getchar(); 10     while(isdigit(ch)) { 11         res = (res << 3) + (res << 1) + (ch - '0'); 12         res %= p; 13         ch = getchar(); 14     } 15     return res; 16 } 17 void exgcd(ll a, ll b, ll &x, ll &y) { 18     if (b == 0) x = 1, y = 0; 19     else exgcd(b, a%b, y, x), y -= a/b * x; 20 } 21 int main() { 22     ll a = read(), b = read(); 23     if (b == 0) { 24         puts("Angry!"); 25         return 0; 26     } 27     ll x, y; 28     exgcd(b,p,x,y); 29     if (x < 0) x += p; 30     printf("%lld\n",x*a%p); 31     return 0; 32 }

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!