Cod sursa(job #1901091)

Utilizator Vlad3108Tir Vlad Ioan Vlad3108 Data 3 martie 2017 18:54:33
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <cstdio>
#define MOD 1999999973
using namespace std;
inline long long LgPow(long long a,long long b){
	long long i,R=a,P=a;
	for(i=1;(1<<i)<=b;++i){
		if((1<<i)&b){
			P*=R;
			P%=MOD;
		}
		R*=R;
		R%=MOD;
	}
	return R;
}
int main(){
	freopen("lgput.in","r",stdin);
	freopen("lgput.out","w",stdout);
	long long a,b;
	scanf("%lld %lld",&a,&b);
	printf("%lld\n",LgPow(a,b));
	fclose(stdin),fclose(stdout);
    return 0;
}