@[email protected] to [email protected]English • 2 months agoRulelemmy.blahaj.zoneimagemessage-square57fedilinkarrow-up1386arrow-down16
arrow-up1380arrow-down1imageRulelemmy.blahaj.zone@[email protected] to [email protected]English • 2 months agomessage-square57fedilink
minus-square@[email protected]linkfedilinkEnglish21•2 months agoUsing 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
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
Recursion is its own reward