Cod sursa(job #1611242)

Utilizator WongravenWongraven Wongraven Data 23 februarie 2016 23:40:19
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <fstream>
#include <stdlib.h>

using namespace std;

long long function (long long number, long long power) {
	if (power == 0) {
		return 1;
	} else if (power == 1) {
		return number;
	} else if (power % 2 == 0) {
		return function (number * number, power / 2);
	} else if (power % 2 == 1) {
		return function (number * number, (power - 1) / 2);
	}
}


int main() {

	long long number, power;
	int constantForTheWin =  1999999973;
	
	ifstream file1("lgput.in");
	ofstream file2("lgput.out");

	file1 >> number;
	file1 >> power;

	file2 << function(number, power);

	file1.close();
	file2.close();
}