Cod sursa(job #874811)

Utilizator mads2194FMI - Andrei Stroe mads2194 Data 9 februarie 2013 12:49:28
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include<iostream>
#include<fstream>

using namespace std;

#define M 1999999973

long lgput(int n, int p)
{
	long a=1;
	
	while(p)
	{
		if(p%2)
		{
			a=(a*n) % M;
			--p;
		}
		else
		{
			n=(n*n) % M;
			p/=2;
		}
	}
	
	return a;
}

int main()
{
	ifstream fin("lgput.in");
	ofstream fout("lgput.out");
	
	long n;
	int p;
	
	fin>>n>>p;
	
	fout<<lgput(n,p);
	
	return 0;
}