Cod sursa(job #1891999)

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