Cod sursa(job #849143)

Utilizator mihai10stoicaFMI - Stoica Mihai mihai10stoica Data 6 ianuarie 2013 16:14:08
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.39 kb
#include<cstdio>
#include<cstdlib>
int main()
{
    unsigned int n,p,m=1999999973,i;
    long long x, rez = 1;
    FILE *f=fopen("lgput.in","r"),*g=fopen("lgput.out","w");
    fscanf(f,"%d %d",&n,&p);
    x = n;
    for(i=0;(1<<i)<=p;++i)
    {
        if(((1<<i)&p)>0)
            rez=(rez*x)%m;
        x=(x*x)%m;
    }
    fprintf(g,"%lld\n",rez);
    fclose(f);fclose(g);
}