Cod sursa(job #1490989)

Utilizator ButmalaiDanButmalai Dan ButmalaiDan Data 24 septembrie 2015 16:31:00
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.36 kb
#include<fstream>
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
unsigned long long n,p,m=1999999973;

int n_p(unsigned long long n,unsigned long long p)
{
	unsigned long long x=1;
	while(p)
	{
		if(p&1){x=(x*n)%m;p--;};
		p=p/2;
		n=(n*n)%m;
	}
	return x;
}	
int main(){
	fin>>n;
	fin>>p;
	fout<<n_p(n,p);
	return 0;
}