int main() { /* Sieve of Eratosthenes */ int isprime[MAX_PRIME + 1]; for (int i = 0; i <= MAX_PRIME; i++) isprime[i] = 1; for (int i = MIN_PRIME; i <= sqrt(MAX_PRIME); i++) { if (!isprime[i]) continue; for (int j = i * i; j <= MAX_PRIME; j += i) isprime[j] = 0; } int primes[MAX_PRIME]; int primes_limit = 0; for (int i = MIN_PRIME; i <= MAX_PRIME; i++) { if (isprime[i]) primes[primes_limit++] = i; } int **pair = (int **) malloc(primes_limit * sizeof(int *)); for (int i = 0; i < primes_limit; i++) pair[i] = (int *) malloc(primes_limit * sizeof(int)); for (int i = 0; i < primes_limit; i++) { for (int j = i + 1; j < primes_limit; j++) { pair[i][j] = works(primes[i], primes[j], isprime) && works(primes[j], primes[i], isprime); } } int starting_set[primes_limit]; for (int i = 0; i < primes_limit; i++) starting_set[i] = 1; printf("%d\n", recurse(0, 0, -1, 0, primes_limit, starting_set, primes, pair)); for (int i = 0; i < primes_limit; i++) free(pair[i]); free(pair); return 0; }
int main() { int n = 1; while (!works(n)) { n++; } printf("%d\n", n); return 0; }
LEMON_UNITTEST_CASE(RunQUnittest,ExitJobTest) { runQ_service Q; ExitJob::create(Q); thread_group works(lemon::bind(&runQ_service::run,&Q),8); works.join(); }
int main() { Node *head = new Node{ "Charlie", NULL }; add(head, "Lisa"); add(head, "Drew"); add(head, "Derrick"); add(head, "AJ"); add(head, "Bojian"); print(head); works(head); print(head); }
LEMON_UNITTEST_CASE(RunQUnittest,iTaxiGatewayTest) { globalCounter = 0; runQ_service Q; Q.proxy(iTaxiGateway::create(Q)); thread_group works(lemon::bind(&runQ_service::run,&Q),4); works.join(); Q.reset(); LEMON_CHECK(Q.jobs() == 0); LEMON_CHECK(globalCounter == iTaxiGateway::maxTaxis); }
void Sprite::touch(uint16 mask, int x, int y, Common::KeyCode keyCode) { _vm->_sys->funTouch(); if ((mask & kEventAttn) != 0) return; _vm->_infoLine->update(name()); if (mask & (kMouseRightDown | kMouseLeftDown)) _vm->_sprite = this; if (_ref / 10 == 12) { _vm->optionTouch(_ref % 10, mask); return; } if (_flags._syst) return; // cannot access system sprites if (_vm->_game) if (mask & kMouseLeftUp) { mask &= ~kMouseLeftUp; mask |= kMouseRightUp; } if ((mask & kMouseRightUp) && _vm->_commandHandler->idle()) { Sprite *ps = (_vm->_pocLight->_seqPtr) ? _vm->_pocket[_vm->_pocPtr] : NULL; if (ps) { if (_flags._kept || _vm->_hero->distance(this) < kDistMax) { if (works(ps)) { _vm->feedSnail(ps, kTake); } else _vm->offUse(); _vm->selectPocket(-1); } else _vm->tooFar(); } else { if (_flags._kept) { mask |= kMouseLeftUp; } else { if (_vm->_hero->distance(this) < kDistMax) { if (_flags._port) { if (_vm->findPocket(NULL) < 0) { _vm->pocFul(); } else { _vm->_commandHandler->addCommand(kCmdReach, -1, -1, this); _vm->_commandHandler->addCommand(kCmdKeep, -1, -1, this); _flags._port = false; } } else { if (_takePtr != kNoPtr) { if (snList(kTake)[_takePtr]._commandType == kCmdNext) _vm->offUse(); else _vm->feedSnail(this, kTake); } else { _vm->offUse(); } } } else { _vm->tooFar(); } } } } if ((mask & kMouseLeftUp) && _vm->_commandHandler->idle()) { if (_flags._kept) { for (int n = 0; n < kPocketNX; n++) { if (_vm->_pocket[n] == this) { _vm->selectPocket(n); break; } } } else { _vm->_commandHandler->addCommand(kCmdWalk, -1, -1, this); // Hero->FindWay(this); } } }