you are viewing a single comment's thread
view the rest of the comments
[–] 83 points 1 year ago* (5 children)

After working at blizzard for 51 years, I finally found an elegant solution by using the power of recursion

private bool IsEven(int number){
  if (number > 1) return IsEven(number - 2);
  if (number == 0) return true;
  if (number == 1) return false;
}
  • source
  • hideshow 5 child comments
  • [–] 12 points 1 year ago (4 children)

    I removed the tail recursion for you:

    private book IsEven(int number) {
        if(number > 1) return IsEven(number - 2) == true;
        if(number == 0) return true; 
        if(number == 2) return false;
    }
    
  • source
  • parent
  • hideshow 4 child comments
  • [–] 4 points 1 year ago (1 child)

    I didn't get this.

    Why return book? Does that have some Blizzard reference?
    And why would number == 2 ⇒ return false? This is a function for getting true when the number is even, right?

  • source
  • parent
  • hideshow 1 child comment
  • [–] 12 points 1 year ago*

    Haha, you're right. I've now learned two things:

    1. I should not write code on a mobile
    2. I should not become a proof reader

    At the end of the day i just wanted the function to be worse, by causing stack overflows

  • source
  • parent