Cod sursa(job #2857441)
Utilizator | Data | 25 februarie 2022 17:02:12 | |
---|---|---|---|
Problema | Ciuperci | Scor | 30 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <fstream>
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);
return (mult * mult) % MODULO;
}else {
return ((solve((c - 2) / 2) * solve(c / 2)) * 2) % MODULO;
}
}
int main() {
int n;
in >> n;
for(int i = 1;i <= n;i++){
int c;
in >> c;
out << solve(c) << '\n';
}
return 0;
}