Those companies that judge output by lines of code are asking for this
Not sure why people still implement this themselves when there are APIs that will do it for you, like https://isevenapi.xyz/
Good solution! I think you should show the last 3 lines that makes it work tho. FIFY:
private bool IsEven(int number){ if (number == 1) return false; else if (number == 2) return true; else if (number == 0) return true; else if (number == -1) return false; else return !IsEven(abs(number) - 1); }
in the process of deleting every comment of my lemmy.world account, and permanently joining some instance that does not censor stuff
bool isEven(int num) { return !isOdd(num); } bool isOdd(int num) { return !isEven(num); }
I’ve actually seen this type of code produced by a human-being who was trying to write good code. It was one of the students in my introduction to programming class in university, we had to write a function that squared a number or something, and he had written hundreds of lines of if-statements. Sometimes you just use what you know to complete an assignment I guess 🤷
I did something similar for a programming competition once because I couldn’t remember the c64 basic function to return string length.
Once I got home I rewrote it properly because it bugged me so badly. LEN(string variable) was the command. Stupid!
Though I want to add this case for interview questions: “Write code that outputs every prime number smaller than 10.”
And if the candidate doesn’t do ‘print “2,3,5,7”;’, I will deduct points.
I always figured this was a nice joke but obviously not code that would ever actually be written by someone… Then I ran into this millimeter to inch conversion code in production this past month:
if (isNaN(mm)) return 0; if (mm == 6) { inch = 0.125; } else if (mm == 8) inch = 0.25; else if (mm == 10) inch = 0.375; else if (mm == 15) inch = 0.5; else if (mm == 20) inch = 0.75; else if (mm == 25) inch = 1; else if (mm == 30) inch = 1.25; else if (mm == 40) inch = 1.5; else if (mm == 50) inch = 2; else if (mm == 60) inch = 2.5; else if (mm == 80) inch = 3; else if (mm == 90) inch = 3.5; else if (mm == 100) inch = 4; ...
That’s terrible! Didn’t we all learn that each method must have exactly one return statement? Please refactor to use a return variable and a single return. And get off my lawn!
You missed some cases…
All my tests pass