Cod sursa(job #361460)

Utilizator BaduBadu Badu Badu Data 5 noiembrie 2009 11:12:37
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include<stdio.h>
#define mod 1999999973
#define ulong unsigned long

ulong n,m;

ulong putere ( ulong a, ulong b){

	ulong r=1;

	while ( b>0 ){

		if ( b & 1 ){
				r*=a;
				r%=mod;
				b--;
		}
		a*=a;
		a%=mod;
		b >>=1 ;
	}

	return r;

}

int main(){

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

	fscanf(f,"%ld%ld",&n,&m);

	fprintf(g,"%ld",putere(n,m));

	return 0;
}