Публикация
4пары

По закону Горлумовского-Беггинсова308/600

По закону Горлумовского-Беггинсова
Изображение пользователя Jeka-cblp

Jeka-cblpПо закону Горлумовского-Беггинсова=274837096

Поддержи "4 пары": Наш Патреон.   
Яндекс-деньги: 41001965342905
Карта Сбер: 4276 8381 0504 4186
На данный момент собрано 900р. на бонусный стрип. Спасибо за поддержку, всем, кто поддерживает нас!

Проголосовать
Изображение пользователя KoTioN
#408190KoTioN=274836543
Да вроде всё правильно сказал. Бесконечная рекурсия выжрала весь ресурс и всё поломалось... Один из вариантов. Хотя, зачем ещё и цикл к рекурсии?)
Изображение пользователя Alhimik
#408192Alhimik=274835914
Так вот он какой stack overflow
Изображение пользователя SwampDog
#408193SwampDog=274835762
KoTioN прав. Либо бесконечная рекурсия (функция бесконечно вызывает сама себя), либо бесконечный цикл (функция бесконечно повторяет одну и ту же операцию). Одно из важнейших различий состоит в том, что бесконечная рекурсия гарантированно сдохнет, когда в "стеке" не останется места для хранения бесконечно увеличивающейся истории вызова функций (широко известная ошибка "stack overflow"), а бесконечный цикл реально может выполняться бесконечно, что в старые времена обычно приводило к "зависанию" компьютера намертво.
Бесконечный цикл с рекурсией это уже какая-то наркомания.
Изображение пользователя Suncast
#408199Suncast=274834817
Нууу, вообще, тут всё норм. Тут не сказано про бесконечную рекурсию, тут просто рекурсия и бесконечный цикл. Поэтому можно как-то так:

...
while(true) { // бесконечный по сути цикл
var res = recFunc(someParams);
if(res)
break; // или даже return something
someParams = changeParams(someParams);
}

...

function recFunc(params) { // рекурсия
if (someCondition1) // переход к следующему тику цикла
return false
if (someCondition2) // если будет соблюдено это условие, мы вышли из цикла
return true
var newParams = doSomethingWithParams(params);
return recFunc(newParams); // идём дальше в рекурсии
}

Но зачем?
Отредактировано «Suncast» 08.04.2016 11:47:50
Изображение пользователя Garmarna
#408214Garmarna=274833610
В голосину XD
И эта пена у рта...
Изображение пользователя Suncast
#408218Suncast=274833158
Garmarna, пена? Я думал, это стол. Он его укусил. )
Изображение пользователя D-E-Xyk
#408242D-E-Xyk=274830288
По закону Джекила-Беннера тогда уж
Изображение пользователя Dendr
#408254Dendr=274829538
Suncast, это ж гениально)) Я даже не смог с первого раза скомпилировать.
Но здесь выход прямо прописан. А в задании подразумевается, что брэйка нет. Ни условного, ни безусловного, иначе это никакой не бесконечный цикл.

О. Надо вставить. Вот допустим так: if (rand()*rand()==1) break;
ЗЫ. Умножение чтобы вероятность выхода была реально малой.
Изображение анонимного пользователя
#408268Anonymous=274827813
Интерраптами надо херачить, господа. Если уж по хардкору- то хардверными
Изображение пользователя Suncast
#408274Suncast=274827258
Dendr, зачем пробовать компилить псевдокод? )
Ок, кажется, это называется модифицированным бесконечным циклом. )
А ещё есть кнопка reset. )
Изображение пользователя scarecrowd
#408278scarecrowd=274826836
Ctrl+Break во всей красе
Изображение пользователя Jesusus3
#408299Jesusus3=274824237
меня одного удивляет то, что препода "института дворников" что то еще удивляет?
Изображение пользователя Rud
#408372Rud=274818305
#408299

Он не удивился.
Просто понял, что за сломанный стол ему ещё с завхозом разбираться и погрустнел...
Отредактировано «Rud» 08.04.2016 16:22:40
Изображение пользователя jein
#408448jein=274813185
В общем ответ по существу, хотя выражен и в несколько свободной форме. К тому же готовился, видно. Физик ответ принял не придираясь к форме, а оппонируя по существу
Изображение пользователя Hlep
#408549Hlep=274804643
я бы ответил 42
Изображение анонимного пользователя
#408587Anonymous=274802296
Ну... Он ведь, не сказал, что выходить надо программно. Кнопку питания удерживать, кнопку рестарт, выдернуть вилку из розетки. Закрыть отладчик или завершить процесс в диспетчере задач. Предусмотреть корректный выход на клавишу.Тут конкретика нужна.
Изображение пользователя GeekyReverie
#408595GeekyReverie=274801225
Выпуск - ОГОНЬ! :D
Изображение пользователя Ilion
#408610Ilion=274799431
"Перезагрузить компьютер" - универсальный ответ для таких ситуаций. )
Изображение пользователя Wiergan
#408962Wiergan=274740276
Пф, всего один уровень вложенной бесконечности. We need to go deeper
Изображение пользователя sirLuke
#409248sirLuke=274715204
А разве команда Break не останавливает цикл?
Изображение пользователя Suncast
#409266Suncast=274713030
sirLuke, выходит из него. )
Изображение пользователя Drunk-elf
#409784Drunk-elf=274635262
Собсно ответ верен. break - выход из цикла, так же можно перевести как "сломать", что он наглядно и продемонстрировал
Изображение пользователя Vulgar
#413886Vulgar=274104432
Ну хвостовая рекурсия, например, в большинстве распространённых языков просто соптимизируется в бесконечный цикл и сама не заглохнет. А выйти — да просто выйти: goto и не париться.
Вам нужно зарегистрироваться чтобы оставлять комментарии.