this post was submitted on 31 Oct 2024
389 points (98.3% liked)

196

16822 readers
519 users here now

Be sure to follow the rule before you head out.


Rule: You must post before you leave.



Other rules

Behavior rules:

Posting rules:

NSFW: NSFW content is permitted but it must be tagged and have content warnings. Anything that doesn't adhere to this will be removed. Content warnings should be added like: [penis], [explicit description of sex]. Non-sexualized breasts of any gender are not considered inappropriate and therefore do not need to be blurred/tagged.

If you have any questions, feel free to contact us on our matrix channel or email.

Other 196's:

founded 2 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] gerryflap 22 points 5 months ago (1 children)

Using Haskell you can write it way more concise:

iseven :: Int -> Bool
iseven 0 = True
iseven 1 = False
iseven 2 = True
iseven 3 = False
iseven 4 = True
iseven 5 = False
iseven 6 = True
iseven 7 = False
iseven 8 = True
...

However, we can be way smarter by only defining the 2 base cases and then a recursive definition for all other numbers:

iseven :: Int -> Bool
iseven 0 = True
iseven 1 = False
iseven n = iseven (n-2)

It's having a hard time with negative numbers, but honestly that's quite a mood

[–] luciferofastora@lemmy.zip 12 points 5 months ago

Recursion is its own reward