тонкий программисткий юмор

Все, что вы хотели знать о программизме, но боялись спросить.
Аватара пользователя
Marmot
Графоман
Сообщения: 38431
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Сообщение Marmot »

drain bamage писал(а):
vg писал(а):Чистая-пречистая бумага, отвечает пацан.

Ну, не вернётся, т.к. в любом случае (чёт/нечет) следует рекурсивный
вызов f.
Ну и что? Прикол-то в чём? Где смеяться?
прикол в том, что 3*5+1 не есть нечет.
Тогда я тоже не понял прикола...
На мой взгляд, там прикол в том, что выхода и рекурсии просто нету, и всё;
А какое там начальное значение, и что стоит внутри f(...) пофиг;
Аватара пользователя
ajkj3em
Маньяк
Сообщения: 2063
Зарегистрирован: 12 ноя 2006, 06:53

Сообщение ajkj3em »

ilid писал(а):Ну да, достаточно просто пристально посмотреть. Я например не знал что if(v & 1) - проверка на чётность интеджера :) ну да век живи век учись. Наколько я понял если у тебя число чётное - делим пополам, а нечётное - превращаем в чётное, причём намного большее чем исходное. Если начать с 27 - то скорее всего мало того что будет вечный луп, я думаю что число будет расти пока не упрётся в максимум 31 бит после чего станет отрицательным.
близко .. но неправильно :)
Аватара пользователя
ajkj3em
Маньяк
Сообщения: 2063
Зарегистрирован: 12 ноя 2006, 06:53

Сообщение ajkj3em »

"прикол" в том, что f() считает последовательность т.н. "чисел града" (на местном это называется 3n+1 problem). недоказанный (но ручками проверенный до какого-то приличного предела) факт состоит в том, что для любого начального n, f(n) сходится к циклу 1 4 2 ... я ж говорю тонкий юмор :)
Аватара пользователя
Marmot
Графоман
Сообщения: 38431
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Сообщение Marmot »

drain bamage писал(а):"прикол" в том, что f() считает последовательность т.н. "чисел града" (на местном это называется 3n+1 problem). недоказанный (но ручками проверенный до какого-то приличного предела) факт состоит в том, что для любого начального n, f(n) сходится к циклу 1 4 2 ... я ж говорю тонкий юмор :)
Ха-ха, так ты не сумел правильно приколоться выходит...
В твоём коде можно хоть какие проблемы решать, нету выхода из рекурсии и всё тут.
И неважно по какому циклу оно будет ходить, главное - что никогда не выйдет!

ЗЫ
Это мне напоминает "... и вся команда больна сифилисом"
:lol: :lol: :lol:
ilid
Завсегдатай
Сообщения: 255
Зарегистрирован: 19 мар 2003, 13:31

Сообщение ilid »

А я вот сразу подумал что 1, 4, 2, а потом отказался от такой вот гипотезы :) Я просто 5 итераций прошёл от 27 и получил что число выписывает пилообразную линию, стремящуюся вверх, хотя может в определённый момент она и изменит направление, проблема в том, что умножаем на 3 а делим на 2 это значит, что чтоб остаться примерно на том же уровне надо чтоб число на 2 раза будучи нечётным 3 раза было бы чётным. Но раз проверено, то тогда я пас :) А может поворот уже там где кончается интеджер? Вот ради прикола на Java Script щас посмотрю.
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

2Драйн Бумага,

Да что ты всё время свои постинги редактируешь? :lol:
прикол в том, что 3*n+1 не есть нечет.
Придётся, наверное, ещё раз отредактироваться, т.к. я об этом не писал.

"прикол" в том, что f() считает последовательность т.н. "чисел града" (на местном это называется 3n+1 problem). недоказанный (но ручками проверенный до какого-то приличного предела) факт состоит в том, что для любого начального n, f(n) сходится к циклу 1 4 2 ... я ж говорю тонкий юмор


Ну, вообще действительно прикольно. Но только раз оперируем терминами типа "сходится", то к "циклам" ничего и никогда не сходится. Сходимость есть, например, к числовому значению, или
к последовательности и т.д.

2ilid,
Ниже - без сарказма. Я тебя уважаю. Хороший ты человек.
Я например не знал что if(v & 1) - проверка на чётность интеджера ну да век живи век учись
v & 1 - это по-битная операция ( bitwise AND ), а не проверка на чётность. Не скажи так где нить.
Если начать с 27 - то скорее всего мало того что будет вечный луп,
"Луп" будет в любом случае.
27 здесь ни при чём (по крайней мере в той редакции "прикола", которая оставлена драйн-бумагой нам сейчас). Хотя я бы не использовал здесь термин loop. Там рекурсия.
что будет вечный луп
Да, вечность здесь будет измерена размером стека до момента кирдык.
думаю что число будет расти пока не упрётся в максимум 31 бит после чего станет отрицательным.
Никто не в какие 31 бит не упрётся. А с кол.во бит для int я бы был по-осторожнее. Времена, биты и инты меняются.
А я вот сразу подумал что 1, 4, 2, а потом отказался от такой вот гипотезы
О:lol: :lol: :lol: Перестань.
Аватара пользователя
ajkj3em
Маньяк
Сообщения: 2063
Зарегистрирован: 12 ноя 2006, 06:53

Сообщение ajkj3em »

Marmot писал(а):
drain bamage писал(а):"прикол" в том, что f() считает последовательность т.н. "чисел града" (на местном это называется 3n+1 problem). недоказанный (но ручками проверенный до какого-то приличного предела) факт состоит в том, что для любого начального n, f(n) сходится к циклу 1 4 2 ... я ж говорю тонкий юмор :)
Ха-ха, так ты не сумел правильно приколоться выходит...
В твоём коде можно хоть какие проблемы решать, нету выхода из рекурсии и всё тут.
И неважно по какому циклу оно будет ходить, главное - что никогда не выйдет!
ЗЫ
Это мне напоминает "... и вся команда больна сифилисом"
:lol: :lol: :lol:
не, ну ты похоже не оценил цимус :) если ты не в знаешь про 3n+1 numbers, то f(27) все равно сойдется к циклу за 100 с чем-то итераций ... i.e. задача решаема за конечное время в любом случае. но смысл в том, что знание этих numbers позволяет решить ее практически моментально.
Аватара пользователя
Marmot
Графоман
Сообщения: 38431
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Сообщение Marmot »

drain bamage писал(а):
Marmot писал(а):
drain bamage писал(а):"прикол" в том, что f() считает последовательность т.н. "чисел града" (на местном это называется 3n+1 problem). недоказанный (но ручками проверенный до какого-то приличного предела) факт состоит в том, что для любого начального n, f(n) сходится к циклу 1 4 2 ... я ж говорю тонкий юмор :)
Ха-ха, так ты не сумел правильно приколоться выходит...
В твоём коде можно хоть какие проблемы решать, нету выхода из рекурсии и всё тут.
И неважно по какому циклу оно будет ходить, главное - что никогда не выйдет!
ЗЫ
Это мне напоминает "... и вся команда больна сифилисом"
:lol: :lol: :lol:
не, ну ты похоже не оценил цимус :) если ты не в знаешь про 3n+1 numbers, то f(27) все равно сойдется к циклу за 100 с чем-то итераций ... i.e. задача решаема за конечное время в любом случае. но смысл в том, что знание этих numbers позволяет решить ее практически моментально.
Чего, чего, ты сам то понял чего написал? Внимательно прочитай свой первый постинг.
Ты там о чём спрашиваешь?
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

2Marmot,

По-моему, Вы слишком много хотите от drain bamage. :lol:

Вначале он вообще написал одно, потом отредактировал.
Потом спрашивал другое, а сейчас думает, что справшивает про третье.

(шутка это, drain bamage. не обижайтесь)
Аватара пользователя
ajkj3em
Маньяк
Сообщения: 2063
Зарегистрирован: 12 ноя 2006, 06:53

Сообщение ajkj3em »

Marmot писал(а):
drain bamage писал(а):
Marmot писал(а):
drain bamage писал(а):"прикол" в том, что f() считает последовательность т.н. "чисел града" (на местном это называется 3n+1 problem). недоказанный (но ручками проверенный до какого-то приличного предела) факт состоит в том, что для любого начального n, f(n) сходится к циклу 1 4 2 ... я ж говорю тонкий юмор :)
Ха-ха, так ты не сумел правильно приколоться выходит...
В твоём коде можно хоть какие проблемы решать, нету выхода из рекурсии и всё тут.
И неважно по какому циклу оно будет ходить, главное - что никогда не выйдет!
ЗЫ
Это мне напоминает "... и вся команда больна сифилисом"
:lol: :lol: :lol:
не, ну ты похоже не оценил цимус :) если ты не в знаешь про 3n+1 numbers, то f(27) все равно сойдется к циклу за 100 с чем-то итераций ... i.e. задача решаема за конечное время в любом случае. но смысл в том, что знание этих numbers позволяет решить ее практически моментально.
Чего, чего, ты сам то понял чего написал? Внимательно прочитай свой первый постинг.
Ты там о чём спрашиваешь?
конечно, понял. правильный ответ - функция ничего не вернет, потому что последовательность значений v зацикливается. это можно понять или сделав 100+ итераций, или просто зная про 3n+1 problem ..
Аватара пользователя
AlexANB
Маньяк
Сообщения: 2904
Зарегистрирован: 17 фев 2003, 18:47
Откуда: Ontario

Сообщение AlexANB »

drain bamage писал(а):не, ну ты похоже не оценил цимус :) если ты не в знаешь про 3n+1 numbers, то f(27) все равно сойдется к циклу за 100 с чем-то итераций ... i.e. задача решаема за конечное время в любом случае. но смысл в том, что знание этих numbers позволяет решить ее практически моментально.
Не знаю, что там было раньше в условиях, но в том, что я вижу сейчас, выход из рекурсии вообще не предусмотрен.

Ни при каких значениях V.

То есть крутиться будет вечно.
Аватара пользователя
MLevin
Частый Гость
Сообщения: 13
Зарегистрирован: 16 окт 2003, 18:57
Откуда: Toronto, ON, Canada

Сообщение MLevin »

Вьюноша просто не правильно сформулировал свой цимус. Он считает, что функция к чему-то сходится, но то, что там сейчас висит, не сходится никуда. Этого он не уловил.

Пусть перепишет, я не знаю, чтобы она выдавала на печать аргументы перед return f(, что ли. Тогда цимус будет хотя бы виден. А так -- рекурсия без выхода, это, извините, моветон.

:wink:
drain bamage писал(а):не, ну ты похоже не оценил цимус :) если ты не в знаешь про 3n+1 numbers, то f(27) все равно сойдется к циклу за 100 с чем-то итераций ... i.e. задача решаема за конечное время в любом случае. но смысл в том, что знание этих numbers позволяет решить ее практически моментально.
AlexANB писал(а):Не знаю, что там было раньше в условиях, но в том, что я вижу сейчас, выход из рекурсии вообще не предусмотрен.

Ни при каких значениях V.

То есть крутиться будет вечно.
:wink: :wink:
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

2 СашенькаФБР
То есть крутиться будет вечно.
Ты бы... ну эта... базар фильтровал бы. Може тебе по бейсику доку кинуть? Так ты мыло в форум кинь.
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

2MLevin
Вьюноша просто не правильно сформулировал свой цимус. Он считает, что функция к чему-то сходится
Правильно. Но всё равно, ты.... ну эта..... по-легче здесь.... про функции и понятие сходимости. Всё равно кое-кто не поймёт, если не пришлёшь по мылу алгебру за 8-класс.

ПС.
Я бы говорил здесь не про функцию а функционал. Хотя могу ошибаться. Давно это было. Честно говорю. Уже почти ничего не помню.
Аватара пользователя
Marmot
Графоман
Сообщения: 38431
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Сообщение Marmot »

vg писал(а):2 СашенькаФБР
То есть крутиться будет вечно.
Ты бы... ну эта... базар фильтровал бы. Може тебе по бейсику доку кинуть? Так ты мыло в форум кинь.
Как я уже тут мудро заметил, может и так получиться, если особо умный компилятор заинлайнит рекурсивный вызов...
Ответить