Cod sursa(job #1499345)
| Utilizator | Data | 10 octombrie 2015 15:24:54 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.48 kb |
#include<cstdio>
using namespace std;
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;
return rezultat*rezultat*n;
}
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));
}
