Cod sursa(job #1345001)

Utilizator Balescu_OvidiuBalescu Ovidiu-Gheorghe Balescu_Ovidiu Data 17 februarie 2015 10:18:03
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.39 kb
#include <stdio.h>
#define p 1999999973

unsigned long pow(unsigned long a, unsigned long b){
	if(b==1) return a%p;
	if(b%2==0) return pow(a,b/2)%p*pow(a,b/2)%p;
	return pow(a,b-1)%p*a%p;
} 
int main(){
	unsigned long a,b;
	FILE*f=fopen("lgput.in","r");
	fscanf(f,"%ld %ld",&a,&b);
	fclose(f);
	FILE*g=fopen("lgput.out","w");
	fprintf(g,"%ld",pow(a,b));
	fclose(g);
	return 0;
}