Cod sursa(job #1515123)

Utilizator matei1404014Iorgulescu Matei matei1404014 Data 1 noiembrie 2015 10:29:04
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <iostream>
#include <fstream>
#include <cstring>
#include <cstdio>

using namespace std;
int v[35];


int main()
{
    freopen ("lgput.in","r",stdin);
    freopen ("lgput.out","w",stdout);
    int i,c=0;
    long long r,n,p,prod=1;
    scanf("%lld %lld",&n,&p);
    while(p)
    {
        v[c++]=p%2;
        p/=2;
    }
    r=n;
    for(i=0;i<c;i++)
    {
        if(v[i])
            prod=prod*r%1999999973;
        r=r*r%1999999973;
    }
    printf("%lld\n",prod);











    return 0;
}