Anatoly Vorobey (avva) wrote,
Anatoly Vorobey
avva

Category:

задачка для программистов

Эта запись заинтересует только программистов, знающих язык C :)

Отличная задачка от yms, для разминки мозгов. Дан текст программы на C. Требуется найти три способа изменить в нем один символ (не добавить, не убрать, не переставить - изменить один символ), так, чтобы программа стала печатать 20 звездочек.

Программа:

main()
{
       int i, N=20;
       for(i = 0 ; i < N ; i--)
               printf("*");
}

В течение нескольких часов буду скрывать правильные ответы, потом все открою.

Update: несколько человек предложили один возможный ответ, причем правильно. Но один ответ найти относительно легко. Постарайтесь найти три разных.

Update: первым правильный ответ написал shigin, но он знал эту задачу раньше. Первым нашел все три ответа сейчас feuerbach и почти одновременно с ним squadette. Я не открываю правильные ответы еще несколько часов, потом открою.

Update: Все, раскрываю все комментарии, и перестаю отвечать, верно или нет, проверьте себя сами по комментариям - правильные ответы есть в них в изобилии (поэтому не заглядывайте туда, если хотите сами решить). Очень многие нашли три правильных ответа; предлагались также другие варианты, но все они по тем или иным причинам не работают, правильных ответа есть только три, насколько известно.

Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 227 comments
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →