1. JavaScript / Говнокод #26477

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    function isEven(a) {
      a = a. toString(). replace(/[^0-9.]/g, "");
      var stack = [];
      var rev = a. split(''). reverse();
      for (var ix = 0; ix < rev. length; ix++) {
        if (rev[ix] == ".") stack. push("dot")
        else if (rev[ix] == "1" || rev[ix] == "3" || rev[ix] =="5" || rev[ix] == "7" || rev[ix] == "9")
          stack. push ("odd")
        else
          stack. push('even')
      }
      var wholenumber = stack. splice(stack. indexof("dot") + 1)
      return wholenumber[0] == "even";
    }

    Определение чётности числа.

    Запостил: IIIuMnAH3E, 08 Марта 2020

    Комментарии (5) RSS

    • Т.е. 2.5 - чётное число?
      Ответить
      • По мнению автора — да.

        Меня ещё интересует, что будет, если взять число, toString() от которого будет содержать десятичный порядок.

        Реальный пример:
        >> Math.pow(2,70).toString()
        "1.1805916207174113e+21"
        >> isEven(Math.pow(2,70))
        false

        Какой багор )))
        Ответить
    • Что за стиль ставить пробел перед точкой?
      Ответить
      • Набирал с картинки. Мне было лень набирать всё, и я прогнал картинку через OCR. Там ещё indexOf немножко неправильно распозналось, я позже заметил.
        Ответить
    • Голдберг писал
      Ответить

    Добавить комментарий