Cod sursa(job #1769796)
| Utilizator | Data | 3 octombrie 2016 10:37:11 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.47 kb |
#include <fstream>
using namespace std;
ifstream f ("lgput.in");
ofstream g ("lgput.out");
long long a,k,x,i,m;
long long putere (long long a,long long k)
{
long long x;
if(k==0) return 1;
if(k==1) return a % m;
else if(k%2==1) return (a*putere(a,k-1)) % m;
else {
x = putere(a,k/2);
return (x*x) % m;}
}
int main()
{
f>>a>>k;
m=1999999973;
g<<putere(a,k);
return 0;
}
