1. C++ / Говнокод #12426

    +22

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    int sqr(int n)
    {
      unsigned int result=n>=0?n:-n;
      n=result<<1;
      do result+=n-=2; while(n);
      return result;
    }

    Эта функция считает квадрат числа n. Писал не я, целей создания не знаю.

    Запостил: ales-hon-ne, 16 Января 2013

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

    • Подсчет квадрата n за O(n)... круто конечно, но как-то искусственно.
      Ответить
    • >>result=n>=0?n:-n;
      >> result+=n-=2

      Его сообщники по программированию не пинают за оформление ?
      Ответить
      • Хрен бы с ним с оформлением, тут надо вешать за логику.
        Ответить
        • вышать надо за яйца.
          и в нуле какой-то адовый треш
          Ответить
          • А разве квадрат нуля - не -2?

            UPD: я косячник, он пробежит по кругу.
            Ответить
      • Оператор
        >=0

        соответсвует лицу того, кто это читает.
        Ответить
    • Я так понимаю, что суть этого кода в том, что квадрат числа эн - это сумма нечётных чисел от 1 до 2n-1 включительно? Правда автор передать суть не сумел, у него, например, результат всегда чётный.
      Ответить

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