Cod sursa(job #370031)

Utilizator GotenAmza Catalin Goten Data 30 noiembrie 2009 00:08:02
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.35 kb
#include<fstream.h>
#include<math.h>
long a;


long put(int x,int n)
{
 if(!n)return 1;
 else
 if(n%2) return (x*(put(x,n-1)%a))%a;
 else return (put(x,(n>>1))%a)*(put(x,(n>>1))%a);
 }

int main()
{

 long n,p;
 ifstream f("lgput.in");
 ofstream g("lgput.out");
 f>>n>>p;
 a=1999999973;
 n%=a;
 p%=(a-1);
 g<<put(n,p);
 return 0;
 }