Cod sursa(job #1241089)

Utilizator Alex_dudeDudescu Alexandru Alex_dude Data 12 octombrie 2014 17:33:01
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <stdio.h>
#define mod 1999999973
using namespace std;
int main()
{
   long long n,p,sol=1;
   FILE *f1=fopen("lgput.in","r"),*f2=fopen("lgput.out","w");
   fscanf(f1,"%lld%lld",&n,&p);
   for(int i=0;(1<<i)<=p;i++)
   {
       if( ( (1<<i) & p ) > 0 )sol=sol*n%mod;
       n=n*n%mod;
   }
   fprintf(f2,"%lld",sol);
  return 0;
}

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