Кресты / Говнокод #25964 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
if (res / 2 < ans) {
    ans = res / 2;
}

Запостил: yuras yuras, (Updated )

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

  • Не очень понятно, где тут С++. Оператор деления перегружен?

    Впрочем, писать одно и тоже два раза точно смысла нет
    Ответить
    • Возможно, кому-то не понравилось, что здесь деление два раза. Хотя компиляторы оптимизировать такое уже научились:
      https://gcc.godbolt.org/z/55RRRc

      А может быть, стиль имени магистра Йоды в условии не понравился (ans на первом месте было бы понятнее).
      Ответить
      • Кстати, интересная подготовка к делению:
        shr     eax, 31
        add     eax, edi

        Если установлен знаковый бит, то к делимому добавляется единица. Это чтобы округление всегда было в сторону нуля.
        Ответить

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

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8