Cod sursa(job #1497535)

Utilizator ZeBuGgErCasapu Andreas ZeBuGgEr Data 6 octombrie 2015 22:07:45
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include<stdio.h>

FILE *fin,*fout;
int n,p;

long long int lgput(int ba,int po)
{
    if(po==1)
    {
        return ba;
    }
    else if(po==0)
    {
        return 1;
    }
    long long int val=lgput(ba,po/2);
    return (((val*val)%1999999973)*lgput(ba,po%2)%1999999973)%1999999973;
}

int main()
{
    fin=fopen("lgput.in","r");
    fout=fopen("lgput.out","w");

    fscanf(fin,"%d %d",&n,&p);
    fprintf(fout,"%lld",(lgput(n,p)%1999999973));
}