Cod sursa(job #2857441)

Utilizator TeodorLuchianovTeo Luchianov TeodorLuchianov 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;
}