Cod sursa(job #1159901)

Utilizator PopoviciRobertPopovici Robert PopoviciRobert Data 29 martie 2014 22:49:59
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.44 kb
#include <stdio.h>
#include <stdlib.h>

int main()
{   FILE*fi,*fout;
    unsigned long long n,p,sol,a,i;
    fi=fopen("lgput.in" ,"r");
    fout=fopen("lgput.out" ,"w");
    fscanf(fi,"%llu %llu" ,&n,&p);
    a=n;
    sol=1;
    for(i=0;i<32;i++)
    {
        if(((1<<i)&p)>0)
            sol=(sol*a)%1999999973;
        a=(a*a)%1999999973;
    }
    fprintf(fout,"%llu" ,sol);
    fclose(fi);
    fclose(fout);
    return 0;
}