Cod sursa(job #1732742)

Utilizator tiberiu.bucur17Tiberiu Constantin Emanoil Bucur tiberiu.bucur17 Data 22 iulie 2016 14:58:24
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.43 kb
#include <stdio.h>
const int mod=1999999973;
long long lgput(int n,int p,long long ac)
{
    if(!n)
        return ac;
    if(p&1)
        ac=(ac*n)%mod;
    return lgput(n*n,p/2,ac);
}
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,1));
    fclose(fin);
    fclose(fout);
    return 0;
}