Cod sursa(job #1584508)

Utilizator mariateguianiMaria Teguiani mariateguiani Data 30 ianuarie 2016 11:02:31
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <iostream>
#include <fstream>

using namespace std;

const int r = 1999999973;

ifstream fin("lgput.in");
ofstream fout("lgput.out");

int ridicare(long long a, int n)
{
    if(n==0)
        return 1;
    else
        if(n%2==0)
        {
             return ridicare(a*a%r,n/2);
        }
        else
        {
            return a*ridicare(a*a%r,n/2)%r;
        }
}

int main()
{
    int n, p;
    fin>>n>>p;
    fout<<ridicare(n,p);

}