Cod sursa(job #1891766)

Utilizator petrooPetru G petroo Data 24 februarie 2017 12:09:22
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <stdio.h>
long long  modulo = 1999999973;
 
unsigned long long solve(long long x,long long n)
{
    if (n == 1)
        return x % modulo;
    if (n % 2 == 0) return solve((x * x), n/2);
    if (n % 2 != 0) return (x * solve((x * x) % modulo,(n-1)/2));
 
}
 
int main()
{
    unsigned long long x, n;
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);
    scanf("%d %d", &x, &n);
    printf("%lld",solve(x,n) % modulo);
    return 0;
}