Cod sursa(job #957407)

Utilizator radu33Nesiu Radu radu33 Data 4 iunie 2013 22:42:23
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");
long long N,P;
const long long m=1999999973;

long long lg(long long N,long long P)
{long long rez;
	if(P<=1)return N%m;
     else if (P%2==0) return (lg((N*N)%m, P/2))%m;
     else return (N*lg((N*N)%m, (P-1)/2))%m;
	 
}
int main()
{f>>N>>P;
	
	g<<lg(N,P)%m;
	
	
return 0;
}