Cod sursa(job #1934635)

Utilizator sergiudnyTritean Sergiu sergiudny Data 21 martie 2017 18:12:12
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include <bits/stdc++.h>
#define ll long long
#define MOD 1999999973
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
ll n,p;
ll put(ll a,ll n){
    if(!n) return 1;
    if(n==1) return (a%MOD);
    if(n & 1) return (((put(a,n-1)%MOD)*a)%MOD);
    if(!(n%2)) return (((put(a,n/2)%MOD)*(put(a,n/2)%MOD))%MOD);
}
int main()
{
    fin>>n>>p;
    fout<<put(n,p)%MOD;
    return 0;
}