Cod sursa(job #948413)

Utilizator matei_cChristescu Matei matei_c Data 10 mai 2013 11:39:24
Problema Invers modular Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<fstream>
using namespace std ;

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

int a, n ;

int mod ;

int putere(int a, int n)
{
    if( n == 0 )
        return 1 ;

    if( n == 1 )
        return a % mod ;

    if( n % 2 == 0 )
        return ( ( putere( a, n / 2 ) % mod ) * ( putere( a, n / 2 ) % mod ) ) % mod ;
    else
        return ( ( putere( a, n / 2 + 1 ) % mod ) * ( putere( a, n / 2 ) % mod ) ) % mod ;
}

int main()
{
    fin >> a >> n ;

    mod = n ;

    fout << putere( a, n - 2 ) ;

    return 0 ;
}