Cod sursa(job #456091)

Utilizator emanuela.hallerHaller Emanuela emanuela.haller Data 14 mai 2010 20:16:59
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.61 kb
#include<stdio.h>

#define MOD 1999999973

long long putere(long long n,long  long p)
   {
   long    long r;
    if (p==0) return 1;
      else 
        if (p%2==0) 
              {
               r=( putere(n,p/2) )%MOD;
               return ( (r*r)%MOD );
              }
           else 
             {
              r=( putere(n,p-1) )%MOD;
              return ( (r*n)%MOD );
             }
   }

int main()
   {
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);
    long long n,p;
    scanf("%lli %lli",&n,&p);
    printf("%lli",(putere(n,p)) %MOD);
    return 0;
   }