Persona3Reload@lemmy.blahaj.zone to 196@lemmy.blahaj.zoneEnglish · 2 years agoRulelemmy.blahaj.zoneexternal-linkmessage-square54linkfedilinkarrow-up11arrow-down10
arrow-up11arrow-down1external-linkRulelemmy.blahaj.zonePersona3Reload@lemmy.blahaj.zone to 196@lemmy.blahaj.zoneEnglish · 2 years agomessage-square54linkfedilink
minus-squaregerryflap@feddit.nllinkfedilinkEnglisharrow-up0·2 years 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
minus-squareluciferofastora@lemmy.zipdeleted by creatorlinkfedilinkarrow-up0·2 years agoRecursion is its own reward
Using Haskell you can write it way more concise:
However, we can be way smarter by only defining the 2 base cases and then a recursive definition for all other numbers:
It’s having a hard time with negative numbers, but honestly that’s quite a mood
Recursion is its own reward