Cod sursa(job #1639519)

Utilizator zertixMaradin Octavian zertix Data 8 martie 2016 12:42:41
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <bits/stdc++.h>
#define mod 1999999973
using namespace std;

long long  n,put;

long long rid_put(long long p)
{
    if (p==1)
        return n%mod;
    if (p%2==0)
    {
        long long x=rid_put(p/2);
        return (x*x)%mod;
    }
    long long x=rid_put(p/2);
    return (((x*x)%mod)*n)%mod;
}

int main()
{
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);
    scanf("%lld%lld",&n,&put);
    printf("%lld",rid_put(put));
    return 0;
}