Cod sursa(job #1891782)

Utilizator petrooPetru G petroo Data 24 februarie 2017 12:23:47
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 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) % modulo;
    if (n % 2 != 0) return (x * solve((x * x),(n-1)/2) % modulo);
 
}
 
int main()
{
    int x, n;
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);
    scanf("%d %d", &x, &n);
    printf("%lld",solve(x,n));
    return 0;
}