Cod sursa(job #601256)

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

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

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;
}