- Thyrian ( @Thyrian@ttrpg.network ) 40•10 months ago
You could do this in one line…
By removing all the linebreaks.
- DeathsEmbrace ( @DeathsEmbrace@lemmy.ml ) 9•10 months ago
Why even put spaces too many key presses.
- Strawberry ( @Strawberry@lemmy.blahaj.zone ) 1•10 months ago
i think it should one giant ternary expression composition
- iegod ( @iegod@lemm.ee ) 1•10 months ago
I love this thread 🫠
- noddy ( @noddy@beehaw.org ) 24•10 months ago
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."); } }
- odium ( @odium@programming.dev ) 7•10 months ago
Have you tried seeing if the recursive approach runs faster?
- noddy ( @noddy@beehaw.org ) 13•10 months ago
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.
- neidu ( @neidu@feddit.nl ) 15•10 months ago
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” }- lysdexic ( @lysdexic@programming.dev ) English15•10 months ago
Divide by 2 and check for a decimal point.
I mean, it ain’t wrong.
- SpeakinTelnet ( @SpeakinTelnet@programming.dev ) 9•10 months ago
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)
- recursive_recursion [they/them] ( @recursive_recursion@programming.dev ) English7•10 months ago
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
- Mac ( @mac@programming.dev ) 12•10 months ago
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
- NullPointer ( @nullPointer@programming.dev ) 6•10 months ago
here is somewhat less:
return (number % 2) == 0;
- perviouslyiner ( @perviouslyiner@lemm.ee ) English2•10 months ago
are the negative numbers all even?
- I_am_10_squirrels ( @I_am_10_squirrels@beehaw.org ) 2•10 months ago
Yes
- avonarret1 ( @avonarret1@programming.dev ) 4•10 months ago
🤦
- Vex_Detrause ( @Vex_Detrause@lemmy.ca ) 2•10 months ago
#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.
- PoolloverNathan ( @PoolloverNathan@programming.dev ) English4•10 months ago
Don’t put nbsps in code blocks, they show up literally.
- RandomVideos ( @RandomVideos@programming.dev ) 1•10 months ago
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)
- vrighter ( @vrighter@discuss.tchncs.de ) 5•10 months ago
- Thyrian ( @Thyrian@ttrpg.network ) 4•10 months ago
This could be optimized by using a recursive function.
- neeeeDanke ( @neeeeDanke@feddit.de ) 2•10 months ago
This could be made more servicavle by using a switch case
- FarraigePlaisteach ( @FarraigePlaisteach@kbin.social ) 4•10 months ago
I would replace each if/else with a while.
- tweeks ( @tweeks@feddit.nl ) 3•10 months ago
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.
- AItoothbrush ( @AI_toothbrush@lemmy.zip ) English2•10 months ago
…btw a switch statement is better in this case(get it?)
- NostraDavid ( @NostraDavid@programming.dev ) 1•10 months ago
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…