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

    +98

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    if a[512] < x then L := n – 512 + 1;
    if a[L + 256] < x then L := L + 256;
    if a[L + 128] < x then L := L + 128;
    if a[L + 64] < x then L := L + 64;
    if a[L + 32] < x then L := L + 32;
    if a[L + 16] < x then L := L + 16;
    if a[L + 8] < x then L := L + 8;
    if a[L + 4] < x then L := L + 4;
    if a[L + 2] < x then L := L + 2;
    if a[L + 1] < x then L := L + 1;

    Взято из методического пособия по программированию - отрывок из алгоритма бинарного поиска (реализация для сходимости в 9 шагов)

    Запостил: diok, 10 Января 2011

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

    • дихотомия мозгов аффтара
      Ответить
    • А чё, оптимизация - развёртка цикла.
      Ответить
    • а там в методичке после этого примера случаем не было написано: "никогда так не делать!" ?
      Ответить
    • Может в методичке так написали для доходчивости,
      надо было только подкрепить написанное алгоритмом для произвольного числа элементов
      Ответить

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