Cod sursa(job #917696)

Utilizator Walrus21andrei Walrus21 Data 18 martie 2013 11:35:18
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.34 kb
#include <stdio.h>

FILE *f=fopen("lgput.in","r");
FILE *g=fopen("lgput.out","w");

const int m(1999999973);
unsigned N,P,sol(1);

int main()
{
    fscanf(f,"%d%d",&N,&P);
    for(int i=0;(1<<i)<=P;++i)
    {
        if((P&(1<<i))>0)
         sol=(sol*N)%m;
        N=(N*N)%m;
    }
    fprintf(g,"%d",sol);
    return 0;
}