Cod sursa(job #1602892)

Utilizator andreibotilaBotila Andrei andreibotila Data 16 februarie 2016 23:23:54
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.46 kb
#include <stdio.h>

long long exprapid(long long n, long long p){
	long long r = 1;
	while(p){
		if(p % 2 == 1){
			r = (r * n) % 1999999973;
			p = p - 1; 
		}
		n = (n * n) % 1999999973;
		p = p /2;
	}
	return r;
}

int main(){
	FILE *in, *out;
	in = fopen("lgput.in", "r");
	out = fopen("lgput.out", "w");

	long long result = 0, N, P;
	fscanf(in, "%lld %lld", &N, &P);

	result = exprapid(N, P);

	fprintf(out, "%lld\n", result);
	fclose(in);
	fclose(out);
	return 0;
}