Cod sursa(job #1083706)

Utilizator projectanduFMI Stanescu Andrei Alexandru projectandu Data 16 ianuarie 2014 11:56:52
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include <iostream>
#include <fstream>
#define M 1999999973
using namespace std;

ifstream d("lgput.in");
ofstream o("lgput.out");
long long x,y;

long long putere(long long b,long long p)
{
    if(p==1)
        return b;
    if(p%2==1)
        return b*putere(b*b%M,p/2)%M;
    if(p%2==0)
        return putere(b*b%M,p/2)%M;
}

int main()
{
    d>>x>>y;
    o<<putere(x,y);

    return 0;
}