Cod sursa(job #2104140)

Utilizator Groza_Iulia_DianaGroza Iulia Diana Groza_Iulia_Diana Data 11 ianuarie 2018 11:15:32
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <bits/stdc++.h>

using namespace std;

const long long r=1999999973;
long long n, p, a=1;

int main()
{
    freopen("lgput.in", "r", stdin);
    freopen("lgput.out", "w", stdout);
    scanf("%lld%lld", &n, &p);
    while(p>0)
    {
        if(p&1)
        {
            a=(a*n)%r;
            p--;
        }
        n=(n*n)%r;
        p=p>>1;
    }
    printf("%lld", a);
    fclose(stdin);
    fclose(stdout);
    return 0;
}