Cod sursa(job #2336624)

Utilizator BungerNadejde George Bunger Data 5 februarie 2019 12:42:15
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.49 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 (ridicare(n%MOD,p/2)%MOD*ridicare(n%MOD,p/2)%MOD)%MOD;
    }
     return ((n%MOD*ridicare(n%MOD,p-1)))%MOD;
}
int main()
{
    fin>>n>>p;
    fout<<ridicare(n%MOD,p)%MOD;
    return 0;
}