Cod sursa(job #577230)

Utilizator bogfodorBogdan Fodor bogfodor Data 9 aprilie 2011 21:48:06
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 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()
{
    int p=1;
    while(k)
    {
        if(k%2==0)
        {
            k/=2;
            n*=n;
        }
        else
        {
            k--;
            p*=n;
        }
        p%=mod;
    }
    printf("%d\n",p);
}

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