Cod sursa(job #3344538)
| Utilizator | Data | 2 martie 2026 11:48:46 | |
|---|---|---|---|
| Problema | Invers modular | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.49 kb |
#include <bits/stdc++.h>
using namespace std;
int z,t;
int euclid(int a,int b,int& x,int& y)
{
if(b==0)
{
x=1;
y=0;
return a;
}
int x1,y1;
int d=euclid(b,a%b,x1,y1);
x=y1;
y=x1-y1*(a/b);
return d;
}
long long invmod(int a,int m)
{
int x,y;
int d=euclid(a,m,x,y);
if(d!=1)
return -1;
else
return (x%m+m)%m;
}
int main()
{
fin >> z >> t;
fout << invmod(z,t);
return 0;
}
