Cod sursa(job #1442593)

Utilizator buzu.tudor67Tudor Buzu buzu.tudor67 Data 25 mai 2015 21:19:46
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include<fstream>
using namespace std;
ifstream fi("lgput.in");
ofstream fo("lgput.out");

const int MODULO = 1999999973;
long long a,n;

long long exponentiere(long long a, long long n, long long MODULO){
	 long long sol = 1;
	 
	 while(n>0){
	 	if(n&1) sol = ((sol%MODULO) * (a%MODULO)) % MODULO;
	 	a = ((a%MODULO) * (a%MODULO)) % MODULO;
	 	n/=2;
	 }
	 
	 
	 return sol;
}

int main(){
	fi>>a>>n;
	
	fo<<exponentiere(a,n,MODULO);
	
	fi.close();
	fo.close();
	return 0;
}