1. Pascal / Говнокод #7384

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function factorial( n: Integer ): Int64;
    begin
      if n=0 then Result := 1
      else             Result := n*factorial(n-1);
    end;
    
    factorial(-1); //<--ЗАЦИКЛИВАЕТ

    =D

    Запостил: Fai, 29 Июля 2011

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

    • Еще одна кривая реализация факториала.
      Ответить
    • Дельфисты по своей природе унылы и малоизобретательны.
      Дельфист кичится своим "удобным и надежным" языком но у него не хватает фантазии на нечто большее чем налепить на форме быдлоинтерфейс и ему не написать чего-то столь изобретательного как это http://govnokod.ru/7097
      Ответить
    • Это смешно?
      Ответить
      • Не так сильно как пиписюнчик, но смешно, да.
        Ответить
    • киса, факториал определен на натуральных числах
      Ответить
      • Конечно. А квадратный корень определен на положительных числах
        Ответить
        • > на положительных числах
          неотрицательных же
          Ответить
      • Ave, Gamma-function!
        Ответить
      • На ненатуральных числах код должен генерировать исключение, а не зацикливать.
        Ответить
        • зачем? достаточно объявить аргумент беззнаковым же.
          Ответить
          • Вот и я не понимаю, зачем во многих программах используют знаковые аргументы, а потом удивляются, почему лимит в два раза меньше теоретического.

            Ах, да. Привычка сишников, что нет проверки на выход целых за рамки диапазона. Я всегда говорил, что Си мотивирует говнокодить.
            Ответить

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