Cod sursa(job #517116)

Utilizator andrey932Andrei andrey932 Data 27 decembrie 2010 20:27:02
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <iostream>
#include <stdio.h>

using namespace std;

#define MOD 1999999973

FILE *fin=fopen("lgput.in","r"),*fout=fopen("lgput.out","w");
unsigned int i,n,p;
unsigned long long rez,valp;

int main()
{
    fscanf(fin,"%d %d",&n,&p);
    valp=n;
    rez=1;
    for(i=0; (1<<i)<=p;i++) {
        if ((1<<i)&p>0) rez=(rez*valp)%MOD;
        valp=(valp*valp)%MOD;
    }
    fprintf(fout,"%lld\n",rez);
    fclose(fout);
    return 0;
}