Cod sursa(job #1497526)

Utilizator ZeBuGgErCasapu Andreas ZeBuGgEr Data 6 octombrie 2015 21:59:00
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include<stdio.h>

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

long long int lgput(long long int ba,long long 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));
}

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

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