Cod sursa(job #1412195)

Utilizator gabib97Gabriel Boroghina gabib97 Data 1 aprilie 2015 10:21:25
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <fstream>
#define w 1999999973
using namespace std;
long long n,p;
long long putere(long long n,long long p)
{
    if (!p) return 1;
    if (p==1) return n;
    long long r=putere(n,p/2);
    r=(r*r)%w;
    if (p%2==1) r=(r*n)%w;
    return r;
}
int main()
{
    ifstream fin ("lgput.in");
    ofstream fout ("lgput.out");
    fin>>n>>p;
    fout<<putere(n,p);
    fin.close();
    fout.close();
    return 0;
}