Cod sursa(job #1107008)

Utilizator anaid96Nasue Diana anaid96 Data 13 februarie 2014 16:04:22
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include<stdio.h>

using namespace std;

FILE *in,*out;

//definitii
#define ll long long

//constante
const ll mod=1999999973;

//variabile
ll num,power,answer=1;

int main(void)
{
	in=fopen("lgput.in","rt");
	out=fopen("lgput.out","wt");
	
	fscanf(in,"%lld%lld",&num,&power);
	for(int i=0; (1<<i)<=power; i++)
	{
		if((1<<i)&power)
			answer = (answer * num)%mod;
		num = (num*num)%mod;
	}
	
	fprintf(out,"%d",answer);
	
	fclose(in);
	fclose(out);
	return 0;
}