Cod sursa(job #830697)

Utilizator RobertSSamoilescu Robert RobertS Data 7 decembrie 2012 14:23:13
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include<fstream>
#include<math.h>
using namespace std;

double putere(double n, double k){
	if(k > 1){
		if((int)k %2 ==1){
			return n * pow(putere(n,k/2),2);
		}
		else return pow(putere(n,k/2),2);
	
	}
	else if(k == 1)
		return n;
	else return 1;
}

int main(){
	double n, k;
	ifstream fin("lgput.in");
	ofstream fout("lgput.out");
	fin >> n >> k;
	fout << (int)putere(n,k) % 1999999973;
	return 0;
}