Cod sursa(job #1159900)

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

int main()
{   FILE*fi,*fout;
    int n,p,sol,a,i;
    fi=fopen("lgput.in" ,"r");
    fout=fopen("lgput.out" ,"w");
    fscanf(fi,"%d %d" ,&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,"%d" ,sol);
    fclose(fi);
    fclose(fout);
    return 0;
}