Cod sursa(job #2458795)

Utilizator Narcis09Grecu Narcis Narcis09 Data 21 septembrie 2019 15:31:01
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.39 kb
#include <fstream>
using namespace std;

ifstream cin("lgput.in");
ofstream cout("lgput.out");

typedef unsigned long lu;

const lu mod=1999999973;

lu putere(lu a, lu n){
	lu rezultat=1;
	while (n){
		if (n%2){
			rezultat=(rezultat*a)%mod;
			--n;
		}
		a=(a*a)%mod;
		n=n/2;
	}
	return rezultat;
}
int main()
{
	lu a, n;
	cin>>a>>n;
	cout<<putere(a, n)<<"\n";
	
	cin.close();
	cout.close();
}