You could do this in one line...
By removing all the linebreaks.
Welcome to Programming Horror!
This is a place to share strange or terrible code you come across.
For more general memes about programming there's also Programmer Humor.
Looking for mods. If youre interested in moderating the community feel free to dm @Ategon@programming.dev
You could do this in one line...
By removing all the linebreaks.
Why even put spaces too many key presses.
i think it should one giant ternary expression composition
I love this thread 🫠
I know how to fix this!
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.");
}
}
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.
My solution in perl back in the day when I was a teenage hobbyist who didn't know about the modulus operator: Divide by 2 and use regex to check for a decimal point.
if ($num / 2 =~ /\./) { return "odd" }
else { return "even" }
Divide by 2 and check for a decimal point.
I mean, it ain't wrong.
def is_even(n):
match n:
case 1:
return False
case 0:
return True
# fix No1
case n < 0:
return is_even(-1*n)
case _:
return is_even(n-2)
modulo
pseudocode:
if number % 2 == 0
return "number is even" (is_num_even = 1 or true)
else
return "number is odd" (is_num_even = 0 or false)
plus you'd want an input validation beforehand
who needs modulo when you can get less characters out of
while (number > 1) {
number -= 2;
}
return number;
very efficient
edit: or theres the trusty iseven api
here is somewhat less:
return (number % 2) == 0;
are the negative numbers all even?
Yes
🤦
#You are an input. You have value! You matter!
if number % 2 == 0
return "number is even" (is_num_even = 1 or true)
else
return "number is odd" (is_num_even = 0 or false)
Am I doing it right? /S.
Don't put nbsps in code blocks, they show up literally.
This code is terrible. If you input 10.66 it returns "number is odd
It should be:
if number % 2 == 0
return "number is even" (is_num_even = 1 or true)
else
return "number is not even" (is_num_even = 0 or false)
This could be optimized by using a recursive function.
This could be made more servicavle by using a switch case
I would love it if someone edited this example and posted it with two statements near the end that are reversed, implying inconsistent behaviour at random in the list ahead, seemingly making this solution less inefficient.
...btw a switch statement is better in this case(get it?)
You joke, but I've seen a programming language that didn't have a loop, and if you copied a line of text and pasted it in a text editor, JSON would come out...
The editor could barely handle 400+ lines because it probably converted the text to JSON, added a letter and converted it back to JSON... Per inserted symbol...