Cod sursa(job #1486389)

Utilizator tain1234andrei laur tain1234 Data 14 septembrie 2015 19:46:11
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <fstream>
#include <iostream>
#define mod 1999999973;
using namespace std;
long long int p(long long int a, long long int b){
	if (b == 0) return 1;
	else if (b == 1) return a % 1999999973;
	else if (!(b % 2)) return (p(a*a % 1999999973, b / 2) % 1999999973);
	else return a*p(a*a % 1999999973, (b - 1) / 2) % 1999999973;
}
int main(){
	long long int N, P;
	ifstream f("lgput.in");
	ofstream of("lgput.out");
	f >> N >> P;
	of << p(N, P) % 1999999973;
	return 0;
}