Cod sursa(job #2162198)

Utilizator alexandra_paticaAndreea Alexandra Patica alexandra_patica Data 12 martie 2018 09:00:13
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <cstdio>
#include <algorithm>
using namespace std;

long long a, n, p;

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

    scanf("%lld%lld", &a, &n);

    p=1;
    while (n){
        if (n%2==1){
            p=(p*a)%1999999973;
            n--;
        }
        else{
            a=(a*a)%1999999973;
            n/=2;
        }
    }
    printf("%lld", p);
    return 0;
}