Cod sursa(job #794035)
Utilizator | Bogdan Beldea beldeabogdan | Data | 5 octombrie 2012 09:59:21 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.49 kb |
#include <cstdio>
#define MOD 1999999973
using namespace std;
long long baza,exponent,r;
long long putere(long long baza,long long exponent){
long long t;
if (exponent == 1L) return baza;
else {
t = putere(baza, exponent/2);
if (exponent %2 == 0) return t*t%MOD;
else return t*t*baza%MOD;
}
}
int main() {
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
scanf("%lld %lld",&baza,&exponent);
printf("%lld",putere(baza,exponent));
return 0;
}