Cod sursa(job #1732751)

Utilizator tiberiu.bucur17Tiberiu Constantin Emanoil Bucur tiberiu.bucur17 Data 22 iulie 2016 15:14:05
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator c Status done
Runda Arhiva educationala Marime 0.46 kb
#include <stdio.h>
const int mod=1999999973;
inline long long lgput(int n,int p)
{
    long long a=1;
    while(p)
    {
        if(p&1)
            a=(a*n)%mod;
        n=(n*n)%mod;
        p/=2;
    }
    return a;
}
int main()
{
    FILE *fin,*fout;
    fin=fopen("lgput.in","r");
    fout=fopen("lgput.out","w");
    int n,p;
    fscanf(fin,"%d%d",&n,&p);
    fprintf(fout,"%lld",lgput(n,p));
    fclose(fin);
    fclose(fout);
    return 0;
}