Cod sursa(job #2750944)
Utilizator | Data | 13 mai 2021 17:36:34 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.4 kb |
#include <fstream>
#define M 1999999973
using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");
int putere(int a, int b)
{ if(a==0) return 0;
if(b==0) return 1;
if(b%2==1) return 1LL*a*putere(a,b-1)%M;
int v=1LL*putere(a,b/2)%M;
return 1LL*v*v%M;
}
int main()
{ int aa,bb;
f>>aa>>bb;
g<<putere(aa,bb);
g.close();
f.close();
return 0;
}