Cod sursa(job #2169012)

Utilizator Groza_Iulia_DianaGroza Iulia Diana Groza_Iulia_Diana Data 14 martie 2018 13:05:30
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <cstdio>

using namespace std;

const int 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;
}