Cod sursa(job #577238)

Utilizator bogfodorBogdan Fodor bogfodor Data 9 aprilie 2011 21:56:30
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <cstdio>

using namespace std;

FILE *fin=freopen("lgput.in","r",stdin);
FILE *fout=freopen("lgput.out","w",stdout);

int n,k;
const int mod= 1999999973;

void putere()
{
    long long a=n,p=1;
    for(int i=0;(1<<i)<=k;i++)
    {
        if(((1<<i)& k)> 0)
            p=(p*a)%mod;
        a=(a*a)%mod;
    }
    printf("%d\n",p);
}

int main()
{
    scanf("%d %d",&n,&k);
    putere();
    return 0;
}