Cod sursa(job #2139880)

Utilizator fylot3Bogdan Filote fylot3 Data 22 februarie 2018 20:51:14
Problema Ridicare la putere in timp logaritmic Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <stdio.h>
//#define MOD	1999999973

long long MOD = 1999999973;
long long N, P;

long long power(long long N, long long P) {
	
	if (P == 0)
		return 1;

	long long temp = power(N, (P >> 1));

	if (P % 2 == 0)
		return (temp * temp) % MOD;
	else
		return (N * temp * temp) % MOD;
}

int main(void) {

	FILE *fin = fopen("lgput.in", "r");
	FILE *fout = fopen("lgput.out", "w");

	fscanf(fin, "%lld%lld", &N, &P);
	fclose(fin);

	fprintf(fout, "%lld", (power(N, P) % MOD));
	fclose(fout);

	return 0;
}