Cod sursa(job #401539)

Utilizator dexter_dexMutascu Adrian - Dragos dexter_dex Data 22 februarie 2010 22:05:45
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <stdio.h>
#define MOD 1999999973


unsigned int x, rezultat = 1, n;

int main(){
	
	FILE * f = fopen ("lgput.in", "r");
	FILE * g = fopen ("lgput.out", "w");
	
	fscanf (f, "%d %d", &x, &n);
	while (n){
		if (n % 2 == 0){
			x *= x;
			n /= 2;
		}
		
		else{
			rezultat *= x;
			n--;
			x *= x;
			n /= 2;
		}
		
		rezultat %= MOD;
	}
	
	
	fprintf(g, "%d", rezultat);
	
	fclose(f);
	fclose(g);
	return 0;
}