Cod sursa(job #1611238)

Utilizator adu18sptAndrei Mircea adu18spt Data 23 februarie 2016 23:37:06
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include<fstream>
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
unsigned long long  a,b,MOD=1999999973,x=1;
unsigned long long  p;
unsigned long long  lgpow(unsigned long long  a, unsigned long long b)
{
    while(b>1)
    {
    	if(b%2==0)
    	{
    		b/=2;
    		a=(a*a)%MOD;
		}
		else
		{
			x=(x*a)%MOD;
			b--;
		}
	}
	return (a*x)%MOD;
}

int main()
{
	fin>>a>>b;
	p=lgpow(a,b);
	fout<<p;	
}