Pagini recente » Cod sursa (job #1084217) | Cod sursa (job #2906529) | Cod sursa (job #1758497) | Cod sursa (job #2144195) | Cod sursa (job #2857473)
#include <fstream>
#include <map>
using namespace std;
ifstream in("ciuperci.in");
ofstream out("ciuperci.out");
typedef long long ll;
int const MODULO = 666013;
ll solve(ll c) {
if(c <= 1){
return 1;
}else if(c % 2 == 1){
ll mult = solve((c - 1) / 2), ans = mult * mult;
if(ans >= MODULO){
return ans % MODULO;
}
return ans;
}else {
ll mult1 = solve(c / 2 - 1), mult2 = solve(c / 2), ans = (mult1 * mult2 * 2);
if(mult1 * mult2 * 2 >= MODULO) {
return ans % MODULO;
}
return ans;
}
}
int main() {
int n;
in >> n;
for(int i = 1;i <= n;i++){
int c;
in >> c;
out << solve(c) << '\n';
}
return 0;
}