Cod sursa(job #2336621)

Utilizator BungerNadejde George Bunger Data 5 februarie 2019 12:36:50
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.44 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin ("lgput.in");
ofstream fout ("lgput.out");
const int MOD=1999999973;
int n,p;
int ridicare(int n,int p)
{
    if(p==0) return 1;
    if(p==1) return n%MOD;
    if(p%2==0)
    {
        int x=ridicare(n%MOD,p/2);
        return x%MOD*x%MOD;
    }
    else return n%MOD*ridicare(n%MOD,p-1);
}
int main()
{
    fin>>n>>p;
    fout<<ridicare(n%MOD,p);
    return 0;
}