Я нашел a site с некоторыми сложными головоломками C. Сейчас я имею дело с этим:Фиксация сломанной петли, изменяя ровно один символ
Ниже приведен фрагмент кода C, целью которого было напечатать знак минус 20 раз. Но вы можете заметить, что это не работает.
#include <stdio.h> int main() { int i; int n = 20; for(i = 0; i < n; i--) printf("-"); return 0; }
Хорошо фиксирующий вышеуказанный код является прямым. Чтобы сделать проблему интересной, вы должны исправить вышеуказанный код, изменив ровно один символ. Существует три известных решения. Посмотрите, сможете ли вы получить все эти три.
Не могу понять, как решить. Я знаю, что его можно исправить, изменив --
на ++
, но я не могу понять, какой единственный символ нужно изменить, чтобы он работал.
Я не думаю, что это «слишком локализованы». Хотя это может быть не слишком полезно в реальном мире, это интересная головоломка. – Javier
Кстати, мы все еще не нашли ни одного решения. – Javier
@ Феликс: Ну, конечно, теперь мы этого не делаем. Я написал это, когда мы были. – Javier