Cod sursa(job #2336626)

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

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