Cod sursa(job #2504392)
Utilizator | Data | 4 decembrie 2019 21:19:02 | |
---|---|---|---|
Problema | Invers modular | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.3 kb |
#include <bits/stdc++.h>
typedef long long ll;using namespace std;ifstream fin("inversmodular.in");ofstream fout("inversmodular.out");int a,m;void f(ll a,ll b,ll &x,ll &y){if(b==0)x=1,y=0;else{ll x1,y1;f(b,a%b,x1,y1);x=y1;y=x1-(a/b)*y1;}}int main(){ll x,y;fin>>a>>m;f(a,m,x,y);fout<<(ll(x%m)+m)%m;return 0;}