Cod sursa(job #1730626)

Utilizator Gigel-FroneGigel Fronel Gigel-Frone Data 17 iulie 2016 12:52:39
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.37 kb
#include <cstdio>
#define m 1999999973

using namespace std;

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

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

    long long sol=1, a=n;
    for(int i=0; (1<<i) <= p; i++)
    {
        if(((1<<i) & p) > 0) sol=(sol*a)%m;
        a=(a*a)%m;
    }
    printf("%lld", sol);
}