Pagini recente » Cod sursa (job #1232642) | Cod sursa (job #639775) | Cod sursa (job #745099) | Cod sursa (job #585550) | Cod sursa (job #820068)
Cod sursa(job #820068)
#include <fstream>
using namespace std;
typedef unsigned long long ll;
ll mul(ll a, ll b, ll c) {
if(b == 0) return 0;
else {
ll tmp = mul(a, b >> 1, c);
tmp = (tmp << 1) % c;
if(b & 1) tmp = (tmp + a) % c;
return tmp;
}
}
ll put(ll a, ll b, ll c) {
if(b == 0) return 1 % c;
else {
ll tmp = put(a, b >> 1, c);
tmp = mul(tmp, tmp, c);
if(b & 1) tmp = mul(tmp, a, c);
return tmp;
}
}
int main() {
ll a, b, c = 1999999973ll;
ifstream f("lgput.in");
ofstream g("lgput.out");
f >> a >> b;
g << put(a, b, c) << endl;
f.close();
g.close();
return 0;
}