Cod sursa(job #1639281)

Utilizator PhilipDumitruPhilip Dumitru PhilipDumitru Data 8 martie 2016 11:38:30
Problema Ridicare la putere in timp logaritmic Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include <fstream>

#define MOD 1999999973

using namespace std;

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

	long long int n, p, res;
	fscanf(fin, "%lld %lld", &n, &p);
	res = 1;
	for (int i = 1; i < p; i <<= 1)
	{
		if (i & p)
		{
			res = (res * n) % MOD;
		}
		n = (n*n) % MOD;
	}
	fprintf(fout, "%lld", res);

	fclose(fin);
	fclose(fout);
	return 0;
}