Cod sursa(job #2930656)

Utilizator anastasiadumitru3Dumitru Anastasia anastasiadumitru3 Data 29 octombrie 2022 10:46:26
Problema Algoritmul lui Euclid extins Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.48 kb
#include <iostream>
#include <fstream>

using namespace std;
long long putere(int a, int n){
    if(n%2==0)
        return((long long )( putere(a,n/2)% n)*(putere(a,n/2)% n))%n;
    else if(n%2==1 && n!=1)
        return (((long long )(putere(a,n/2)%n)*(putere(a,n/2)%n))%n*(a%n))%n;
    else return a%n;

}

int main()
{
    ifstream in("inversmodular.in");
    ofstream out("inversmodular.out");
    int n, a, i;
    in>>a>>n;
    out<<putere(a, n-2);
    return 0;
}