// Call of Duty Zombies Insta-Kill Round Calculator
// author: R.B. (Reddit: DeadWireAintThatBad, YouTube: Red Baron 181)
#include <iostream>
int main() {
// int is 32-bit signed, which is the data type used for health in id Tech 3
// round 1 health is 150
int health = 150;
// round limit, this constant is used only to prevent an infinite loop
const int rlimit = 500;
// health increases by +100 every round from 2 until 9
for(int rnd = 2; rnd <= 9; rnd++)
health += 100;
// health increases by x1.1 every round from 10 onwards
for(int rnd = 10; rnd <= rlimit; rnd++) {
// this expression is used to avoid floating-point arithmetic
// x + x/10 = x + 0.1x = 1.1x
health += health / 10;
// if health overflows to negative, it's an insta-kill round
// std::cout outputs the round number to stdout
if(health < 0)
std::cout << rnd << '\n';
}
// exit program
return 0;
}
Ly8gQ2FsbCBvZiBEdXR5IFpvbWJpZXMgSW5zdGEtS2lsbCBSb3VuZCBDYWxjdWxhdG9yCi8vIGF1dGhvcjogUi5CLiAoUmVkZGl0OiBEZWFkV2lyZUFpbnRUaGF0QmFkLCBZb3VUdWJlOiBSZWQgQmFyb24gMTgxKQoKI2luY2x1ZGUgPGlvc3RyZWFtPgoKaW50IG1haW4oKSB7CgkKCS8vIGludCBpcyAzMi1iaXQgc2lnbmVkLCB3aGljaCBpcyB0aGUgZGF0YSB0eXBlIHVzZWQgZm9yIGhlYWx0aCBpbiBpZCBUZWNoIDMKCS8vIHJvdW5kIDEgaGVhbHRoIGlzIDE1MAoJaW50IGhlYWx0aCA9IDE1MDsKCQoJLy8gcm91bmQgbGltaXQsIHRoaXMgY29uc3RhbnQgaXMgdXNlZCBvbmx5IHRvIHByZXZlbnQgYW4gaW5maW5pdGUgbG9vcAoJY29uc3QgaW50IHJsaW1pdCA9IDUwMDsKCQoJLy8gaGVhbHRoIGluY3JlYXNlcyBieSArMTAwIGV2ZXJ5IHJvdW5kIGZyb20gMiB1bnRpbCA5Cglmb3IoaW50IHJuZCA9IDI7IHJuZCA8PSA5OyBybmQrKykKCQloZWFsdGggKz0gMTAwOwoJCgkvLyBoZWFsdGggaW5jcmVhc2VzIGJ5IHgxLjEgZXZlcnkgcm91bmQgZnJvbSAxMCBvbndhcmRzCglmb3IoaW50IHJuZCA9IDEwOyBybmQgPD0gcmxpbWl0OyBybmQrKykgewoJCQoJCS8vIHRoaXMgZXhwcmVzc2lvbiBpcyB1c2VkIHRvIGF2b2lkIGZsb2F0aW5nLXBvaW50IGFyaXRobWV0aWMKCQkvLyB4ICsgeC8xMCA9IHggKyAwLjF4ID0gMS4xeAoJCWhlYWx0aCArPSBoZWFsdGggLyAxMDsKCQkKCQkvLyBpZiBoZWFsdGggb3ZlcmZsb3dzIHRvIG5lZ2F0aXZlLCBpdCdzIGFuIGluc3RhLWtpbGwgcm91bmQKCQkvLyBzdGQ6OmNvdXQgb3V0cHV0cyB0aGUgcm91bmQgbnVtYmVyIHRvIHN0ZG91dAoJCWlmKGhlYWx0aCA8IDApCgkJCXN0ZDo6Y291dCA8PCBybmQgPDwgJ1xuJzsKCQkJCgl9CgkKCS8vIGV4aXQgcHJvZ3JhbQoJcmV0dXJuIDA7CgkKfQo=