По поверхности доски вдоль прямой ползет улитка

Обновлено: 18.05.2024

Есть интересная задачка.
Представим себе канат из фантастического материала, который может бесконечно растягиваться. Длина этого каната 1 км. На конце этого каната сидит улитка (считать её материальной точкой), которая ползет к другому концу каната со скоростью 1см/с. Все бы хорошо, но каждую секунду длина каната увеличивается на 1 км (он РАВНОМЕРНО РАСТЯГИВАЕТСЯ). Длина каната увеличивается скачком раз в 1 секунду.
Вопрос: сможет ли улитка доползти до своей цели, даже если её считать бессмертной и бесконечно упорной? Если да, то сколько ей на это потребуется времени? Если нет, то обяснить почему

Решение я сам знаю, интересно себя проверить

Так.. . Написано - канат удлиняется равномерно, то есть он НЕ ОТ УЛИТКИ удлиняется на 1 км! Читаем внимательно и думаем. думаем.

Улитка, безусловно, доползёт до другого конца каната.
За первую секунду улитка проползёт 1/ 100000 часть каната ( одну стотысячную )
После этого канат увеличится вдвое.
За вторую секунду улитка проползёт 1/200000 ( 1 двухсоттысячную )
За третью секунду улитка проползёт 1/300000 часть ( новая длина каната = 3 км )
Вместе с растяжением каната растягивается и путь, пройденный улиткой.
За четвёртую секунду путь улитки составит 1/400000 от новой длины.
Примем длину каната равной 1.
Тогда путь улитки равен 1/100000 * ( 1 + 1/2 + 1/3 + 1/4 + 1/5 + 1/6 + 1/7 +..)
Но в скобках - не что иное, как гармонический ряд. А он, как известно, расходится! Следовательно, в некоторый момент времени сумма в скобках станет больше 100 000 - улитка доползёт до конца каната !
Попробуем это время оценить.
по формуле Эйлера n-я сумма гармонического ряда будет равна ln(n) + 0,5772
В нашем случае ln(n) =100 000 - 1,5772 = 99998.428
Возведите число е в эту степень и узнаете, сколько улитке потребуется секунд
Достаточно много : 1.8306255031131887879650735971874e+43424, но КОНЕЧНОЕ количество секунд
Удачи !

Спасибо, Ваш ответ полон и мне кажется, другие смогут понять, в чем они ошибались, когда однозначно высказывались о невозможности совершения такого подвига улиткой=)

Выкладка про сумму гармонического ряда сама по себе понятна. Непонятно другое
За 1-ю секунду улитка продвинется к концу на 1см, и тут же этот конец отодвинется на 1км.
Расстояние от улитки до конца каната стало 2км -1см.
За 2-ю секунду она подвинется еще на 1 см, а конец отодвинется еще на 1км.
Расстояние от улитки до конца станет 3км-2см, и так далее. Расстояние возрастает,
а не убывает. Если отсчет вести от конца в сторону улитки, то она удаляется от конца.
Аналогии с парадоксом Зенона нет, так как там расстояние убывает, а здесь
растет. Или я что-то не так понял в условии задачи?

Юрий Семенов Мастер (2306) Вы скорее всего что-то недопоняли. Улитка проползла сантиметр, осталось 1км-1см. Канат удлинился на 1 км (в 2 раза), впереди улитки стало 2*(1 км-1 см), а сзади 2*1=2 см. Потом улитка проползла еще сантиметр, канат удлинился в 1,5 раза. То есть сзади улитки осталось 1,5*(2+1)=4,5 см. А длина каната составляет 3 км. Пусть Вас не смущается, что расстояние на первый вгзляд постоянно увеличивается - сумма ряда 1+1/2+1/4+1/8 тоже увеличивается, но у него есть предел (равный 2) А то, что вы проанализировали первые несколько секунд - абсолютно не показатель, т.к. ответ 1 с 43 тысячами нулей! тут таже возраст вселенной смотрится смешно=)

image

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

В качестве базы выбрана довольно известная задача про улитку для младших классов школы. «Улитка ползёт вверх по столбу высотой 5 метров. Каждый день она проползает вверх на 3 метра, а каждую ночь съезжает вниз на 2 метра. За сколько дней она доползёт до вершины столба.»

Как известно, многие школьники срезаются на том, что просто делят 5 на (3−2) и получают 5 дней, не учитывая того, что в конце третьего дня улитка уже́ достигла вершины.

Весь процесс начинается строго в начале светлой части суток, когда улитка может ползти вверх (а не посреди дня). Сверху столба горизонтальная площадка, достигнув которой улитка уже не съезжает вниз. Затраты времени по перемещению с вертикальной части поверхности столба на финальную горизонтальную считаем нулевыми.

Задача 1

Вводятся действительные¹ неотрицательные числа: сколько проползает за день вверх; сколько съезжает за ночь вниз; высота столба. Должен вывестись ответ — минимальное необходимое целое число суток.

  1. Если высота столба 0 — возвращаем 0.
  2. Если дневной пробег 0 — возвращаем бесконечность/никогда².
  3. Вычисляем разность высоты столба и дневного пробега ( РВСДП ); если она неположительна — возвращаем 1.
  4. Вычисляем пробег за целые сутки ( ПЗЦС ); если он неположителен — возвращаем бесконечность/никогда².
  5. Возвращаем 1 + ceil(РВСДП / ПЗЦС) .

¹ Под действительными я имел в виду с плавающей точкой. Можно взять и целые. Суть в том, что в общем случае разность высоты столба и дневного пробега может быть не кратна пробегу за целые сутки.
² Эти варианты, так и быть, можно простить (или задать в условии, что так не будет).

Суть в том, чтобы решающий обработал хотя бы: (1) классический случай (вершина достигается не в первый день, но ровно к концу какого-то из дней); (2) некратную длину (вершина достигается не в первый день и не ровно к концу какого-то дня); (3) короткую длину (вершина достигается ещё до конца первого дня).

Задача 2

То же самое. Только вернуть уже нужно не минимальное необходимое целое число суток, а «время» относительно длины суток (возможно нецелое число). Предполагается, что каждый день и ночь длится ровно по 0.5 (и процесс начинается ровно в начале дня). А улитка и днём, и ночью двигается с постоянной скоростью.

Задача 3

То же самое. Только процесс начинается в произвольное время, а не ровно в начале дня. Пользователь вводит произвольное действительное число — «время» начала процесса. Ответ — произвольное действительное число — «время» конца процесса.

Очуменными задачами по физике, которые когда-то показал потрясающий препод на ФДП.

Задача 1
Вася с силой 100 H тянет за ручку динамометра, вторая ручка которого нерастяжимой верёвкой привязана к неподвижной стене.
Вопрос: Какую силу покажет динамометр?

Задача 2
Вася и Федя, каждый с силой по 100 H, тянут за противоположные ручки динамометра.
Вопрос: Какую силу покажет динамометр?

Задача 3
Вася тянет за ручку динамометра с силой 80 Н, а Федя, будучи послабее, тянет за противоположную ручку с силой 70 Н.
Вопрос: Какую силу покажет динамометр?

Вроде бы банально, но многие даже студенты срезаются уже́ на второй задаче. Особенно именно если в таком порядке (первая — success, вторая — фейл, третья — о_О). И понимание этих задач позволяет глубже понять базовые принципы, которые студент мог прощёлкать за все N лет школы.


comment

2017-11-29
Улитки обычно передвигаются следующим образом. Животное присасывается к чему-нибудь специальной слизистой поверхностью. Перемещение происходит благодаря согласованным сокращениям отдельных участков этой поверхности. Если улитка ползёт по прозрачному предмету (например, стеклу), такие сокращения наблюдаются в виде «волн» (более тёмных участков слизистой поверхности), «бегущих» вдоль направления движения животного. А в каком направлении «бегут» эти «волны» — в ту же сторону, куда ползёт улитка, или в противоположную?

Часть поверхности тела улитки, соприкасающуюся с поверхностью, по которой улитка ползёт, будем условно называть «стопой». Также рассмотрим условную координатную ось и направим её вдоль направления движения улитки. Процесс ползания происходит примерно следующим образом.

1. Сокращается задний конец стопы. При этом координата самой задней части стопы увеличивается (например, на величину $\Delta x$).
2. Созданное сзади сокращение в виде волны прогоняется через всю стопу от заднего конца до переднего.
3. На переднем конце стопы сокращение разжимается, при этом передний конец также перемещается вперёд на величину, примерно равную $\Delta x$.


Схематично последовательные этапы этого процесса показаны на рисунке.

В результате оказалось, что вся улитка переместилась вперёд на величину $\Delta x$. Затем описанный процесс повторяется.

Животное также может «запускать» следующую «волну», не дожидаясь полного прохождения предыдущей; тогда по стопе улитки перемещаются сразу несколько «волн» (друг за другом), в результате чего возрастает скорость ползания. «Волны» могут распространяться по стопе улитки не только прямолинейно, но и более сложным образом. Таким способом улитка может менять направление своего перемещения.

Есть резинка длины 1 метр. По ней ползет улитка. Скорость улитки 1см в минуту. Ползет она от левого конца резинки к правому. В конце каждой минуты резинка растягивается и ее длина увеличивается на 1 метр. "Растягивание" происходит мгновенно и равномерно по всей длине.
Вопрос: доползет ли улитка до правого конца резинки?
Понятно, что улитка живет вечно и не устает.

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

Маркетплейсы и 1С

Инструментарий разработчика

Улитка доползёт.
Фишка том, что Ответ может быть только ДА или НЕТ.
Этот вопрос давно висит в Интернете.
Плакал:

. Если резинка от трусов, то бесконечно она растягиваться не может, а улитка бессмертна — значит ДОПОЛЗЕТ
Хотя если это трусы Дункана МакЛауда - резинка может растягиваться бесконечно.
. Загляне в справочник по скоростям серийных моделей улиток на стандартных резинках.
. Бесконечно длинный кусок резины с бесконечно долго ползущей по ней бесконечно долго живущей бесконечно тупой улитки.
. Некорректные данные: сила трения какова?, коэффициент натяжения тоже? Математики не гоните волну это физика чистой воды!
. При растягивании резинки её центр (масс может быть) взад уносит.

. с каждай минутай ризинго увиличиваицца на адин метар, значет в працентнам атнашении паказатиль увиличения длены пути всйо меньшы. Удлиняицо она равнамерна, тоисть и перед улидкай, и за ее жеппой. Асталазь пащщетать Элиминтарныйе цыфарки.

program ulitka;
uses crt;
var k,i: real;
n,x: longint;

через миллион минут улитка проползет 14,39273% пути
через 100 миллионов минут улитка проползет 18,99780% пути
через миллиард - 21,30037%

. неспеша, палузгевайа семки и стреляя па пути беломор у прахожых жытелей резинки, наша гираиня таки движыца к сваей цэли! А прогресс нистаит на мести, и наряду с нестареющими улиткаме паявляюца нерастяжимые резинке.
. Так как даное действие происходит на земле. Улитка может никуда не идти, а просто подождать 40 000 000 минут (76 лет) пока правый конец сам к ней приедет. .

мгновенная скорость улитки относительно стороннего наблюдателя есть x + ay (1), где х - скорость улитки относительно резинки, у - скорость растягивания резинки, а - коэффициент численно равный отношению пройденного улиткой пути к целому.
из (1) получаем что при х > 0 существует такая точка на резинке, расположенная между двумя концами резинки (назовем эту точку граничной), что находясь в этой точке улитка имеет скорость равную скорости растяжения резинки, значит задача сводится к определению дойдет ли улитка до этой самой точки, так как если она до точки дойдет, то она 100% дойдет уже и до конца резинки.

итак эту граничную точку можно принять за конец нашей резинки тогда мы сводим задачу к первоначальному виду с той лишь поправкой, что скорость резинки стала меньше а именно y2 = by1, где b - отношение отрезков на которые делит резинку граничная точка. так как в b скорость резинки равна скорости улитки то
y1 = x + by1 => b = 1 - x/y1 => y2 = y1 - x, может быть такая ситуация, что y2 значит имеем:
y1 - x

если последнее условие выполняется то улитка 100% доползает
но может быть и такое что y1 > 2x, тогда найдем НОВУЮ граничную точку, в этом случае y3 = y2 - x = y1 - 2x
y3

y1 - 2x y1 отсюда получаем если скорость растяжения резинка ограничена, а скорость движения улитки больше нуля, то улитка В ЛЮБОМ СЛУЧАЕ доползет до конца резинки внезависимости от скорости движения улитки и от скорости растяжения резинки.

Есть резинка длины 1 метр. По ней ползет улитка. Скорость улитки 1см в минуту. Ползет она от левого конца резинки к правому. В конце каждой минуты резинка растягивается и ее длина увеличивается на 1 метр. "Растягивание" происходит мгновенно и равномерно по всей длине.
Вопрос: доползет ли улитка до правого конца резинки?
Понятно, что улитка живет вечно и не устает.

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

Маркетплейсы и 1С

Инструментарий разработчика

Улитка доползёт.
Фишка том, что Ответ может быть только ДА или НЕТ.
Этот вопрос давно висит в Интернете.
Плакал:

. Если резинка от трусов, то бесконечно она растягиваться не может, а улитка бессмертна — значит ДОПОЛЗЕТ
Хотя если это трусы Дункана МакЛауда - резинка может растягиваться бесконечно.
. Загляне в справочник по скоростям серийных моделей улиток на стандартных резинках.
. Бесконечно длинный кусок резины с бесконечно долго ползущей по ней бесконечно долго живущей бесконечно тупой улитки.
. Некорректные данные: сила трения какова?, коэффициент натяжения тоже? Математики не гоните волну это физика чистой воды!
. При растягивании резинки её центр (масс может быть) взад уносит.

. с каждай минутай ризинго увиличиваицца на адин метар, значет в працентнам атнашении паказатиль увиличения длены пути всйо меньшы. Удлиняицо она равнамерна, тоисть и перед улидкай, и за ее жеппой. Асталазь пащщетать Элиминтарныйе цыфарки.

program ulitka;
uses crt;
var k,i: real;
n,x: longint;

через миллион минут улитка проползет 14,39273% пути
через 100 миллионов минут улитка проползет 18,99780% пути
через миллиард - 21,30037%

. неспеша, палузгевайа семки и стреляя па пути беломор у прахожых жытелей резинки, наша гираиня таки движыца к сваей цэли! А прогресс нистаит на мести, и наряду с нестареющими улиткаме паявляюца нерастяжимые резинке.
. Так как даное действие происходит на земле. Улитка может никуда не идти, а просто подождать 40 000 000 минут (76 лет) пока правый конец сам к ней приедет. .

мгновенная скорость улитки относительно стороннего наблюдателя есть x + ay (1), где х - скорость улитки относительно резинки, у - скорость растягивания резинки, а - коэффициент численно равный отношению пройденного улиткой пути к целому.
из (1) получаем что при х > 0 существует такая точка на резинке, расположенная между двумя концами резинки (назовем эту точку граничной), что находясь в этой точке улитка имеет скорость равную скорости растяжения резинки, значит задача сводится к определению дойдет ли улитка до этой самой точки, так как если она до точки дойдет, то она 100% дойдет уже и до конца резинки.

итак эту граничную точку можно принять за конец нашей резинки тогда мы сводим задачу к первоначальному виду с той лишь поправкой, что скорость резинки стала меньше а именно y2 = by1, где b - отношение отрезков на которые делит резинку граничная точка. так как в b скорость резинки равна скорости улитки то
y1 = x + by1 => b = 1 - x/y1 => y2 = y1 - x, может быть такая ситуация, что y2 значит имеем:
y1 - x

если последнее условие выполняется то улитка 100% доползает
но может быть и такое что y1 > 2x, тогда найдем НОВУЮ граничную точку, в этом случае y3 = y2 - x = y1 - 2x
y3

y1 - 2x y1 отсюда получаем если скорость растяжения резинка ограничена, а скорость движения улитки больше нуля, то улитка В ЛЮБОМ СЛУЧАЕ доползет до конца резинки внезависимости от скорости движения улитки и от скорости растяжения резинки.

Читайте также: