Cod sursa(job #1598988)

Utilizator alinciocoveanuCiocoveanu Alin alinciocoveanu Data 13 februarie 2016 15:05:04
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <fstream>
using namespace std;
int n,p;
void citire()
{
    ifstream fin ("lgput.in");
    fin>>n>>p;
    fin.close();
}
int PutereLog(int a, int n)
{
    int P=1999999973;
	int rez = 1;
	while (n > 0)
	{
		if (n % 2 == 1)
		{
			n--;
			rez = (1LL * rez * a) % P;
}
n = n/2;
a = (1LL * a * a) % P;
}
return rez;
}

int main()
{
    citire();
    ofstream fout ("lgput.out");
    fout<<PutereLog(n,p);
    fout.close();
    return 0;
}