Программка, рассчитывающая число ПИ. Вопрос к Крису :)

Тема в разделе "WASM.HEAP", создана пользователем necrostaz, 12 фев 2009.

  1. necrostaz

    necrostaz New Member

    Публикаций:
    0
    Регистрация:
    19 апр 2008
    Сообщения:
    17
    В последнем Хакере, да да в нем )) В рубрике трюки от Криса была занятная программка, рассчитывающая число пи. Вот код из хакера:
    Код (Text):
    1. /*
    2.  * Program to compute an approximation of pi
    3.  *  by Brian Westley, 1988
    4.  */
    5. #define _ 0xF<00? --F<00||--F-OO--:-F<00||--F-OO--;
    6. int F=00,OO=00;
    7. main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO()
    8. {
    9.             _-_-_-_
    10.        _-_-_-_-_-_-_-_-_
    11.     _-_-_-_-_-_-_-_-_-_-_-_
    12.   _-_-_-_-_-_-_-_-_-_-_-_-_-_
    13.  _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
    14.  _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
    15. _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
    16. _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
    17. _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
    18. _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
    19.  _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
    20.  _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
    21.   _-_-_-_-_-_-_-_-_-_-_-_-_-_
    22.     _-_-_-_-_-_-_-_-_-_-_-_
    23.         _-_-_-_-_-_-_-_
    24.             _-_-_-_
    25. }
    А вопрос такой, откуда взят сабж, и кто и зачем изменил оригинал ? ) Оригинальный дефайн выглядел так:
    Код (Text):
    1. #define _ -F<00||--F-OO--;
    Красота то какая ? )) А тут еще и лишних предикатов напихали (для "отвода глаз" чтоль ? :) ). Эээх, или это просто дань печатному изданию ? ;)
     
  2. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    каждый год проводится конкурс по обфускации сорца.
    там много разных шедевров можно видеть.
     
  3. necrostaz

    necrostaz New Member

    Публикаций:
    0
    Регистрация:
    19 апр 2008
    Сообщения:
    17
    ага, я оттуда оригинал и вытянул ))
    http://www.ioccc.org/1988/westley.c

    UPD мне просто интересно откуда вариант криса
     
  4. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    А в чём прикол такой обфускации?
    Препроцессор решает...
     
  5. necrostaz

    necrostaz New Member

    Публикаций:
    0
    Регистрация:
    19 апр 2008
    Сообщения:
    17
    Как и любой другой - затруднить чтение и понимание кода
     
  6. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    Да это понятно.
    Я о том что это неэффективное затруднее.
    Можно всё это хозяйство пропустить через препроцессор и получить гораздо более читаемый исходник.
     
  7. necrostaz

    necrostaz New Member

    Публикаций:
    0
    Регистрация:
    19 апр 2008
    Сообщения:
    17
    В данном случае это мало поможет :) А вообще эта программка - не руководство к действию, а скорее искусство
     
  8. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    necrostaz
    > UPD мне просто интересно откуда вариант криса
    ногами не бит! крис хоть и мыщъх, но местами и мангуст ;) а мангусты в это время года очень кусючие. а вариант взят из фидо.хумор.филтред. блин, ну я ж говорил - ногами не бить!
     
  9. necrostaz

    necrostaz New Member

    Публикаций:
    0
    Регистрация:
    19 апр 2008
    Сообщения:
    17
    ногами не будем :) а за код и удовлетворенное любопытство большое спасибо, апплин так вообще крышу снес ))