Cod sursa(job #1241135)

Utilizator Alex_dudeDudescu Alexandru Alex_dude Data 12 octombrie 2014 18:10:49
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <stdio.h>
#define mod 1999999973
using namespace std;

long long exp(long long x, long long p)
{
    if(!p)return 1;
    if(p%2==0)return (exp(x*x,p/2)%mod)%mod;
    if(p%2!=0)return (x%mod)*(exp(x*x,p/2)%mod)%mod;
}

int main()
{
   long long n,p;
   FILE *f1=fopen("lgput.in","r"),*f2=fopen("lgput.out","w");
   fscanf(f1,"%lld%lld",&n,&p);
   fprintf(f2,"%lld",exp(n,p));
  return 0;
}

//Our greatest weakness lies in giving up. The most certain way to succeed is always to try just one more time.