Cod sursa(job #2557622)

Utilizator CyborgSquirrelJardan Andrei CyborgSquirrel Data 25 februarie 2020 21:51:29
Problema Invers modular Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.47 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");

typedef pair<int,int> gcdres;
gcdres gcd(int x, int y){
	if(y == 0){
		return {1, 0};
	}else{
		gcdres res = gcd(y, x%y);
		return {res.second, res.first - res.second*(x/y)};
	}
}

int invmod(int a, int n){
	return (n*100+gcd(a, n).first) % n;
}

int a, n;

int main(){
	fin >> a >> n;
	fout << invmod(a, n);
	return 0;
}