Cod sursa(job #631086)

Utilizator mr.johnFMI - Laceanu Ionut-Adrian mr.john Data 6 noiembrie 2011 21:51:12
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <stdio.h>
//#include <cstdlib>
#define modulo 1999999973
using namespace std;
long long n,p;

long long putere(long long nr, long long put)
{
  if (put==0) 
    return 1;
  else
    if (put%2==0)
      return putere(nr*nr%modulo,put/2);
    else
      return nr*putere(nr*nr%modulo,put/2)%modulo;
}


int main()
{
  freopen("lgput.in","r",stdin);
  freopen("lgput.out","w",stdout);
  scanf("%lld %lld",&n,&p);
  printf("%lld",putere(n,p));
//  system ("PAUSE");
  return 0;
}