bool IsEven(int number) {
bool even = true;
for (int i = 0; i < number; ++i) {
if (even == true) {
even = false;
}
else if (even == false) {
even = true;
}
else {
throw RuntimeException("Could not determine whether even is true or false.");
}
}
if (even == true) {
return even ? true : false;
}
else if (even == false) {
return (!even) ? false : true;
}
else {
throw RuntimeException("Could not determine whether even is true or false.");
}
}
I know how to fix this!
Have you tried seeing if the recursive approach runs faster?
I know an even better way. We can make it run in O(1) by using a lookup table. We only need to store 2^64 booleans in an array first.