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

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

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

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

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

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

...
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=307972633
В голосину XD
И эта пена у рта...
Изображение пользователя Suncast
#408218Suncast=307972181
Garmarna, пена? Я думал, это стол. Он его укусил. )
Изображение пользователя D-E-Xyk
#408242D-E-Xyk=307969311
По закону Джекила-Беннера тогда уж
Изображение пользователя Dendr
#408254Dendr=307968561
Suncast, это ж гениально)) Я даже не смог с первого раза скомпилировать.
Но здесь выход прямо прописан. А в задании подразумевается, что брэйка нет. Ни условного, ни безусловного, иначе это никакой не бесконечный цикл.

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

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