Cod sursa(job #1220931)

Utilizator raztaapDumitru raztaap Data 19 august 2014 00:02:22
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <cstdio>
long long n, x;
int mod=1999999973;
void citire()
{
    scanf("%lld%lld", &n, &x);
}
int ridp(long long n, long long x)
{
    int nr=0;
    if(x==0)
        return 1;
    if(x%2==0)
    {
        nr=ridp(n,x/2)%mod;
        return ((nr%mod)*(nr%mod))%mod;
    }
    else
    {
        return ((ridp(n, x-1)%mod)*(n%mod))%mod;
    }
}
void rezolva_problema()
{
    long long p=0;
    citire();
    p=ridp(n,x)%mod;
    printf("%lld\n", p);
}
int main()
{
    freopen("lgput.in", "r", stdin);
    freopen("lgput.out", "w", stdout);
    rezolva_problema();
    return 0;
}