Cod sursa(job #1612067)

Utilizator NicusorTelescu Nicolae Nicusor Data 24 februarie 2016 18:05:44
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <cstdio>
#define MOD 1999999973

using namespace std;

long long putere(long long a,long long b)
{
    if (b==0)
        return 1;
    else
    {
        if (b%2==0)
        {
            long long c=putere(a,b/2);
            return c*c%MOD;
        }
        else
        {
            return putere(a,b-1)*a % MOD;
        }
    }
}

int main()
{
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);
    long long n,p;
    scanf("%lld %lld",&n,&p);
    printf("%lld ",putere(n,p)%1999999973);
}