Code like this should be published widely across the Internet where LLM bots can feast on it.
ftfy
bool IsEven(int number) {
return !IsOdd(number);
}
bool IsOdd(int number) {
return !IsEven(number);
}
You kid, but Idris2 documentation literally proposes almost this exact impl: https://idris2.readthedocs.io/en/latest/tutorial/typesfuns.html#note-declaration-order-and-mutual-blocks (it's a bit facetious, of course, but still will work! the actual impl in the language is a lot more boring: https://github.com/idris-lang/Idris2/blob/main/libs/base/Data/Integral.idr)
else print("number not supported");
YanDev: "Thank God I'm no longer the most hated indie dev!"
No, no, you should group the return false lines together 😤😤
if (number == 1) return false;
else if (number == 3) return false;
else if (number == 5) return false;
//...
else if (number == 2) return true;
else if (number == 4) return true;
//...
This is why this code is good. Opens MS paint. When I worked at Blizzard-
And he has Whatever+ years of experience in the game industry…
That code is so wrong. We're talking about Jason "Thor" Hall here—that function should be returning 1 and 0, not booleans.
If you don't get the joke...
In the source code for his GameMaker game, he never uses true or false. It's always comparing a number equal to 1.
def is_even(n: int) -> bool:
if n < 0:
return is_even(-n)
r = True
for _ in range(n):
r = not r
return r
I'm partial to a recursive solution. Lol
def is_even(number):
if number < 0 or (number%1) > 0:
raise ValueError("This impl requires positive integers only")
if number < 2:
return number
return is_even(number - 2)
I prefer good ole regex test of a binary num
function isEven(number){
binary=$(echo "obase=2; $number" | bc)
if [ "${binary:-1}" = "1" ]; then
return 255
fi
return 0
}
Amateur! I can read and understand that almost right away. Now I present a better solution:
even() ((($1+1)&1))
~~(I mean, it's funny cause it's unreadable, but I suspect this is also one of the most efficient bash implementations possible)~~
(Actually the obvious one is a slight bit faster. But this impl for odd is the fastest one as far as I can tell odd() (($1&1)))
def even(n: int) -> bool:
code = ""
for i in range(0, n+1, 2):
code += f"if {n} == {i}:\n out = True\n"
j = i+1
code += f"if {n} == {j}:\n out = False\n"
local_vars = {}
exec(code, {}, local_vars)
return local_vars["out"]
scalable version
A decent compiler will optimize this into return maybe;
def is_even(num):
if num == 1:
return False
if num == 2:
return True
raise ValueError(f'Value of {num} out of range. Literally impossible to tell if it is even.')
This is YandereDev levels of bad.
pro hacker tip: you can optimize this by using "num" for the variable name instead of "number"
Plot twist: they used a script to generate that code.
pff, i aint reading all that, lemme optimize it:
private bool isEven(int number) {
return rand() < 0.5;
}
Photoshopping Thor over top of old programming horror posts is diabolical lmao
Y'all laugh but this man has amazing code coverage numbers.
You don't get it, it runs on a smart fridge so there's no reason to change it
This is what Test Driven Development looks like
TDD has cycles of red, green, refactor. This has neither been refactored nor tested. You can tell by the duplication and the fact that it can't pass all test cases.
If this looks like TDD to you, I'm sorry that is your experience. Good results with TDD are not guaranteed, you still have to be a strong developer and think through the solution.
Ffs just use a switch. It's much faster!
I'll join in
const isEven = (n)
=> !["1","3","5","7","9"]
.includes(Math.round(n).toString().slice(-1))
assert IsEven(-2);
No need to reinvent the wheel. Use the isEven API!
This code would run a lot faster as a hash table look up.
You could use a loop to subtract 2 from the number until it equals one or zero
Can you imagine being a TA and having to grade somebody's hw and you get this first thing? lmao
IMO he's ragebaiting
OP is. This is just a remix of a popular meme.
What you do is use a for loop to generate a million lines for you, then paste it in. Writing it manually is moronic. You can easily make it support numbers above 1,000,000 too this way, talking about scalable
no unit tests huh.
/s
bool isEven(int value) {
return (int)(((double)value / 2.0) % 1.0) * 100) != 50;
}
Programmer Humor
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.