Cod sursa(job #1515744)

Utilizator matei1404014Iorgulescu Matei matei1404014 Data 2 noiembrie 2015 09:32:12
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 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);
    for(i=0;i<32;i++)
    if(p&(1<<i))
    v[c++]=1;
    else
    v[c++]=0;
    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;
}