Cod sursa(job #1609814)

Utilizator Ene_Orlando_Georgian_321CBEne Orlando Georgian Ene_Orlando_Georgian_321CB Data 23 februarie 2016 01:03:49
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.32 kb
#include <stdio.h>
#define m 1999999973

int main(){

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

	long long int n,p,r=1,i=0,a;
	fscanf(in,"%lld %lld",&n,&p);
	a=n;
	for(i=0;(1 << i)<=p;i++){
		if(((1 << i) & p) > 0){
			r = (r*a)%m;
		}
		a = (a*a)%m;
	}

	fprintf(out,"%lld\n",r);
	return 0;
}