Cod sursa(job #1611272)

Utilizator WongravenWongraven Wongraven Data 23 februarie 2016 23:51:38
Problema Ridicare la putere in timp logaritmic Scor 0
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) {
	int constantForTheWin =  1999999973;
	long long answer = 1;
	while (power != 0) {
		if (power % 2 == 0) {
			number = number * number;
			power = power / 2;
		} 
		answer = answer * number;
		power = power - 1;		
	}	
	return answer % constantForTheWin;
}


int main() {

	long long number, power;

	
	ifstream file1("lgput.in");
	ofstream file2("lgput.out");

	file1 >> number;
	file1 >> power;

	file2 << function(number, power) % constantForTheWin;

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