Cod sursa(job #394957)

Utilizator Zamolxis666Vladutu Teodor Zamolxis666 Data 11 februarie 2010 20:44:59
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator c Status done
Runda Arhiva educationala Marime 0.51 kb
#include <stdio.h>
#define MOD 1999999973

int power(int n, int p);


int main()
{
    FILE *in = fopen("lgput.in", "r");
    FILE *out = fopen("lgput.out", "w");
    int n, p;
    fscanf(in, "%d %d", &n, &p);
    
    fprintf(out, "%d", power(n, p)%MOD);
    
    fclose(in);
    fclose(out);
    return 0;
}

int power(int n, int p)
{
    if(p == 0)
       return 1;
    else if(p%2==0)
      return power(n, p/2) * power(n, p/2);
    else
      return n * power(n, p/2) * power(n, p/2);
}