• 0 Posts
  • 78 Comments
Joined 2 years ago
cake
Cake day: July 4th, 2023

help-circle

  • Genie in the OP image would’ve said “OK you now have 0 wishes”.

    Since he said 255, my interpretation is a valid solution.

    Of course, if we’re talking hypothetical wish gaining prevention methods, I’d just have a check before,

    previous_wishes = wishes;

    {Do all the wish things. wishes ends up with a 255 because of our shenanigans}

    If(wishes>=previous_wishes) wishes = previous_wishes-1;

    ;If the current number of wishes isnt less than the old number of wishes, set it to the old number and subtract 1

    If(wishes==0) {/*TODO: write function to end wish giving sequence*/}


  • Nah theres just no process for undoing your submission.

    It doesn’t matter when it’s decremented if you can’t interrupt the process, anyway.

    In a code sense we pause for input, feed it to the wishmaker function, and pause until the thread returns, then decrement.

    We could decrement first, also, but neither violates the rules.


  • You’re correct but you have an off by 1 error.

    First, the genie grants the wish.

    NumWishes=0;

    Then, having completed the wish, the genie deducts that wish from the remaining wishes.

    NumWishes–;

    And to complete the thought,

    Lastly, the genie checks if the lampholder is out of wishes

    If(NumWishes==0) {…}

    (255==0) evaluates to False, so we fall past that check.








  • Well usually I find people like answers to their questions, and am generally happy to help when I have those answers. It can also be interesting to run through the hypothetical scenario this sort of response would suggest. However, just because we can and did put the scenario in a framework of logic and see what that gave us, that doesn’t mean the original scenario is meant for it. Calling it illogical nonsense when it was never meant to be a genuine scenario is like calling a fish a horrible distance runner. You’re not wrong, but you’re missing the entire point.