Cod sursa(job #1639514)

Utilizator zertixMaradin Octavian zertix Data 8 martie 2016 12:41:59
Problema Ridicare la putere in timp logaritmic Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 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*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;
}