Cod sursa(job #204299)

Utilizator rapidu36Victor Manz rapidu36 Data 22 august 2008 16:29:40
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.38 kb
#include<stdio.h>
#define mod 1999999973

unsigned int putere(long long a,unsigned int n){
	long long p=1;
	while(n){
		if(n&1)
			p=(p*a)%mod;
		a=(a*a)%mod;
		n>>=1;
	}
	return (unsigned int)p;
}

int main(){
	unsigned int a,n;
	freopen("lgput.in","r",stdin);
	freopen("lgput.out","w",stdout);
	scanf("%u%u",&a,&n);
	printf("%u\n",putere((long long)a,n));
	return 0;
}