Cod sursa(job #862398)

Utilizator ignadariusIgna Darius ignadarius Data 22 ianuarie 2013 17:56:11
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <iostream>
#include <fstream>

using namespace std;
 long n,p;
 int mod;

long putere(long a,long p,int mod)
{
    long long w;
    if (p==0)
        return 1;
    if (p%2==0)
    {
        w=putere(a,p/2,mod);
        return (w*w)%mod;
    }
    w=putere(a,p-1,mod);
    return (w*a)%mod;
}
int main()
{
	ifstream f("lgput.in");
	ofstream g("lgput.out");
	f>>n>>p>>mod;
	g<<putere(n,p,mod);

return 0;
}