Cod sursa(job #1133046)

Utilizator Claudiu95Vartolomei Alexandru Claudiu Claudiu95 Data 4 martie 2014 12:38:49
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include<fstream>
#include<iostream>
#define maxn 1999999973
using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");
long long int n,p;
long long int solve(long long int x, long long int n){
	if(n==1)
		return x%maxn;
	else
		if(n%2==1)
			return (x%maxn*solve((x%maxn)*(x%maxn),(n-1)/2)%maxn)%maxn;
		else
			return solve((x%maxn)*(x%maxn),n/2)%maxn;
}

int main(){
	f>>n>>p;
	g<<solve(n,p);
	return 0;
}