Cod sursa(job #2120446)

Utilizator dragomir_ioanDragomir Ioan dragomir_ioan Data 2 februarie 2018 14:42:16
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.5 kb
#include <stdio.h>

#define N 1999999973

long long modpow(long long baza, long long exp) {
	long long rez = 1;
	while(exp) {
		if(exp % 2 == 1) {
			rez = rez * baza % N;
		}
		baza = baza * baza % N;
		exp /= 2;
	}
	return rez;
}

int main() {
	long long baza, putere;

	FILE *fin = fopen("lgput.in", "r");
	fscanf(fin, "%lld%lld", &baza, &putere);
	fclose(fin);

	FILE *fout = fopen("lgput.out", "w");
	fprintf(fout, "%lld\n", modpow(baza, putere));
	fclose(fout);

	return 0;
}