Cod sursa(job #743554)

Utilizator cipriancxFMI - gr143 Timofte Ciprian cipriancx Data 4 mai 2012 21:36:20
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <iostream>
#include<cstdio>

using namespace std;

long long int a,n;

long long int putere(long long int a,long long int p, long long int n)
{
long long int put,aux;
   if(n==0) return 1;
    if(n%2==0){
    aux=putere(a,p,n/2)%p;
    put=aux*aux;
    put%=p;
    return put;
        }
else{
    aux=putere(a,p,n-1);
    put=(a*aux)%p;

    return put;
}
}
int main()
{
   freopen("lgput.in","r",stdin);
   freopen("lgput.out","w",stdout);


cin>>a>>n;
a%=1999999973;



cout<<putere(a,1999999973,n);


    return 0;
}