Cod sursa(job #2669975)
Utilizator | Leoveanu Bianca Biencutza04 | Data | 8 noiembrie 2020 16:16:31 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.48 kb |
#include <fstream>
#define M 1999999973
using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");
int ridput(int a, int b)
{ if(b==0) return 1;
int r=ridput(a,b/2);
r=(1LL*r*r)%M;
if(b&1) r=(1LL*r*a)%M;
return r;
}
int main()
{ int a,b;
f>>a>>b;
/*
int r=1;
for(;b;b>>=1)
{ if(b&1) r=(1LL*r*a)%M;
a=(1LL*a*a)%M;
}
g<<r;
*/
g<<ridput(a,b);
g.close();
f.close();
return 0;
}