Cod sursa(job #627493)

Utilizator mihaibogdan10Mihai Bogdan mihaibogdan10 Data 30 octombrie 2011 02:27:35
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include<cstdio>
using namespace std;

long long rez, n, p;

long long Lgput(long long p){
	if (p == 0) return 1;
	if (p % 2 == 1) return Lgput (p-1) * n % 1999999973;
	else {
		long long x = Lgput (p/2) ;
		return x * x % 1999999973;
	}
}

int main(){
	FILE *fin = fopen("lgput.in","r");
	FILE *fout = fopen("lgput.out", "w");
	
	fscanf(fin,"%lld %lld", &n, &p);
	rez = Lgput(p);
	fprintf (fout, "%lld\n", rez);
	return 0;
}