Cod sursa(job #1499348)

Utilizator radu_uniculeu sunt radu radu_unicul Data 10 octombrie 2015 15:26:05
Problema Ridicare la putere in timp logaritmic Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include<cstdio>
using namespace std;
#define MOD 1999999973
long long int n,p;
long long int result;
long long solve(long long n,long long power)
{
    if(power==0) return 1;
    if(power==1) return n;
    long long rezultat=solve(n,power/2);
    if(power%2==0) return (rezultat*rezultat)%MOD;
    return (rezultat*rezultat*n)%MOD;
}
int main()
{
    FILE *fin,*fout;
    fin=fopen("lgput.in","r");
    fout=fopen("lgput.out","w");
    fscanf(fin,"%lld%lld",&n,&p);
    fprintf(fout,"%lld",solve(n,p));
}