Cod sursa(job #1769795)
Utilizator | Data | 3 octombrie 2016 10:35:03 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include <fstream>
using namespace std;
ifstream f ("lgput.in");
ofstream g ("lgput.out");
int a,k,x,i,m;
int putere (int a,int k)
{
int 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;
}