Cod sursa(job #2199958)
| Utilizator | Data | 29 aprilie 2018 19:02:19 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.4 kb |
#include <fstream>
#include <math.h>
using namespace std;
long long n,k,i,j;
long long put(long long n, long long k)
{
n%=1999999973;
if (k==1) return n;
if (k%2==0) return (put(n*n,k/2))%1999999973;
if (k%2==1) return (n*put(n*n,k/2))%1999999973;
}
int main()
{
ifstream fin("lgput.in");
ofstream fout("lgput.out");
fin>>n>>k;
fout<<put(n,k);
return 0;
}
