Cod sursa(job #601258)

Utilizator mavroMavrodin Bogdan-Florentin mavro Data 5 iulie 2011 18:07:55
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator c Status done
Runda Arhiva educationala Marime 0.46 kb
#include <stdio.h>
#define mod 1999999973


int putere(long int x, long int n)
{
    if(n == 0)
        return 1;
    if(n % 2 == 1)
        return (x * putere(x, (n-1)/2) * putere(x, (n-1)/2))% mod;
    return (putere(x, n/2) * putere(x, n/2))% mod;
}

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

    int n, p;

    scanf("%d %d", &n, &p);

    printf("%d", putere(n, p)% mod);

    return 0;
}