Cod sursa(job #2373151)

Utilizator cristina-criCristina cristina-cri Data 7 martie 2019 12:30:19
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.47 kb
#include <cstdio>
#define MOD 1999999973

using namespace std;

int n, p;

int putere(int n, int p)
{
    int rez=1;
    while(p)
    {
        if(p&1)
        {
            p--;
            rez=(rez*n)%MOD;
        }
        p>>=1;
        n=(n*n)%MOD;
    }
    return rez%MOD;
}

int main()
{

    freopen("lgput.in", "r", stdin);
    freopen("lgput.out", "w", stdout);

    scanf("%d %d",&n, &p);

    printf("%d", putere(n, p));

    return 0;
}