Cod sursa(job #1611294)

Utilizator WongravenWongraven Wongraven Data 24 februarie 2016 00:02:50
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#include <fstream>
#include <stdlib.h>

using namespace std;


long long constantForTheWin =  1999999973;

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


int main() {

	long long number, power;

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

	file1 >> number;
	file1 >> power;

	file2 << function(number, power);

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