Cod sursa(job #757660)

Utilizator vld7Campeanu Vlad vld7 Data 12 iunie 2012 21:33:22
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include <cstdio>

#define MOD 1999999973

using namespace std;

FILE *f = fopen ("lgput.in","r");
FILE *g = fopen ("lgput.out","w");


int main()
{
	int A, N, p = 1;
	
	fscanf (f, "%d%d", &A, &N);
	A %= MOD;
	
	while (N)
	{
		if (N % 2 == 1)
		{
			p *= A % MOD;
			A *= A % MOD;
		}
		else
			A *= A % MOD;
		
		N /= 2;
	}
		
	fprintf (g, "%d\n", p);
	
	fclose(f);
	fclose(g);
	
	return 0;
}