Человек и паучок.
От: SlaVVVa Россия  
Дата: 08.08.07 08:08
Оценка: 4 (2)
Легенда. Задача якобы задавалась на съезде академиков. И Сахаров решил ее за 5 минут на бумажной салфетке.

Условие. Есть резинка растягивающаяся до бесконечности и по всей длинне равномерно длинной 1 метр. Один конец прикреплен к стене и на нем сидит паучок, другой держит в руках человек. Человек начинает двигаться от стены со скоростью 1 м/с — ондновременно с ним начинает двигаться паучок по резинке паучок со скоростью 0.10 м/с.
Вопрос: догонит ли паучок человека, и если догонит, то за какое время?

Логически:
Человек движеться равномерно. Паучок с ускорением т.к. к его пройденному пути прибавляется растяжение нити и чем больше он прополз, тем больше это приращение. Отсуда следует что обязательно догонит. А вот как высчитать время?
Поймете смысл — найдутся слова.
Катон.
Re: Человек и паучок.
От: Pro100Oleh Украина  
Дата: 08.08.07 08:56
Оценка:
Обозначения:
L — длина резинки
t — время после начала процесса
V — скорость паука
U — скорость человека
T — время, когда паук догонит человека

Представим, что длина резинки постояння и "равна" 1. То есть резинка является нашей системой координат, которая будет сужвться со временем. Тогда скорость паука непостоянна. Она равна V/(L+Ut). Тогда ответом будет решение уравнения: [интеграл от 0 до T](V*dt/(L+Ut)) = 1
Pro
Re: Человек и паучок.
От: Pro100Oleh Украина  
Дата: 08.08.07 08:59
Оценка: +1
Здравствуйте, SlaVVVa, Вы писали:

SVV>Человек движеться равномерно. Паучок с ускорением т.к. к его пройденному пути прибавляется растяжение нити и чем больше он прополз, тем больше это приращение. Отсуда следует что обязательно догонит. А вот как высчитать время?


Не обязательно. Это может происходить бесконечно. Все зависит от чисел в условии.
Pro
Re: Человек и паучок.
От: Спильный Андрей Украина  
Дата: 08.08.07 09:16
Оценка:
Здравствуйте, SlaVVVa, Вы писали:

SVV>Легенда.

скорее баян
Re[2]: Человек и паучок.
От: Спильный Андрей Украина  
Дата: 08.08.07 09:21
Оценка:
Здравствуйте, Pro100Oleh, Вы писали:

PO>Тогда ответом будет решение уравнения:


~5.5часов
Re[2]: Человек и паучок.
От: YVR  
Дата: 08.08.07 09:44
Оценка:
Здравствуйте, Pro100Oleh, Вы писали:

PO>Тогда скорость паука непостоянна. Она равна V/(L+Ut).


Выражение не имеет размерности скорости.
Re[3]: Человек и паучок.
От: Seon  
Дата: 08.08.07 10:05
Оценка:
Здравствуйте, Спильный Андрей, Вы писали:

СА>Здравствуйте, Pro100Oleh, Вы писали:


PO>>Тогда ответом будет решение уравнения:


СА>~5.5часов


за это время паучек протопает 2 км.
а человек 20 км
резинка провиснет и паучек дальше пойдет по земле.
никогда не дойдет, потому что он собъется с пути.
Re[3]: Человек и паучок.
От: Спильный Андрей Украина  
Дата: 08.08.07 10:18
Оценка:
Здравствуйте, YVR, Вы писали:

PO>>Тогда скорость паука непостоянна. Она равна V/(L+Ut).


YVR>Выражение не имеет размерности скорости.


а так всегда и происходит, если нагуглив чужое решение, и не поняв его, пытаются выдать за свое
Re[2]: Человек и паучок.
От: SlaVVVa Россия  
Дата: 08.08.07 10:20
Оценка:
Здравствуйте, Pro100Oleh, Вы писали:

SVV>>Человек движеться равномерно. Паучок с ускорением т.к. к его пройденному пути прибавляется растяжение нити и чем больше он прополз, тем больше это приращение. Отсуда следует что обязательно догонит. А вот как высчитать время?

PO>Не обязательно. Это может происходить бесконечно. Все зависит от чисел в условии.

Объясните как может объект движущийся с ускорением не догнать движущийся равномерно. По моему от чисел в условии зависит только время, которое для этого потребуется.
Поймете смысл — найдутся слова.
Катон.
Re[3]: Человек и паучок.
От: Pro100Oleh Украина  
Дата: 08.08.07 11:11
Оценка: -1
Здравствуйте, YVR, Вы писали:

YVR>Выражение не имеет размерности скорости.


Все правильно. У меня растояние не имеет размерности (равно 1). Можно обе части уравнения домножить на L и будет вам счастье в размерностях.
Pro
Re[3]: Человек и паучок.
От: ДимДимыч Украина http://klug.org.ua
Дата: 08.08.07 11:12
Оценка:
Здравствуйте, SlaVVVa, Вы писали:

SVV>Объясните как может объект движущийся с ускорением не догнать движущийся равномерно.


Может, если двойной интеграл от ускорения (расстояние, пройденное ускоряющимся телом) на всей области определения меньше, чем интеграл от скорости (расстояние, пройденное равномерно движущимся телом). Ведь из условия не очевидно, что движение паучка равноускоренное.
Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
Re[3]: Человек и паучок.
От: Pro100Oleh Украина  
Дата: 08.08.07 11:16
Оценка: +1
Здравствуйте, SlaVVVa, Вы писали:

SVV>Объясните как может объект движущийся с ускорением не догнать движущийся равномерно. По моему от чисел в условии зависит только время, которое для этого потребуется.


Все просто. Когда ускорение отрицательное и стремится к нулю слева при времени, стремящемся к бесконечности.
Общеизвестный пример: каждую секунду вы проходите половину оставшегося пути.
Pro
Re[4]: Человек и паучок.
От: Pro100Oleh Украина  
Дата: 08.08.07 11:18
Оценка:
Здравствуйте, Seon, Вы писали:

S>за это время паучек протопает 2 км.

S>а человек 20 км

Прикол в том, что пауку не нужно ходить столько же, сколько и человеку.
Pro
Re[4]: Человек и паучок.
От: Pro100Oleh Украина  
Дата: 08.08.07 11:19
Оценка:
Здравствуйте, Спильный Андрей, Вы писали:

СА>а так всегда и происходит, если нагуглив чужое решение, и не поняв его, пытаются выдать за свое


не смешно
Pro
Re: Человек и паучок.
От: codelord  
Дата: 08.08.07 11:59
Оценка:
Здравствуйте, SlaVVVa, Вы писали:

SVV>Легенда. Задача якобы задавалась на съезде академиков. И Сахаров решил ее за 5 минут на бумажной салфетке.


SVV>Условие. Есть резинка растягивающаяся до бесконечности и по всей длинне равномерно длинной 1 метр. Один конец прикреплен к стене и на нем сидит паучок, другой держит в руках человек. Человек начинает двигаться от стены со скоростью 1 м/с — ондновременно с ним начинает двигаться паучок по резинке паучок со скоростью 0.10 м/с.

SVV>Вопрос: догонит ли паучок человека, и если догонит, то за какое время?

SVV>Логически:

SVV>Человек движеться равномерно. Паучок с ускорением т.к. к его пройденному пути прибавляется растяжение нити и чем больше он прополз, тем больше это приращение. Отсуда следует что обязательно догонит. А вот как высчитать время?
короче таракану тьфу пауку потребуется
6480 секунд чтобы заползти на руку тянущего резину

#include <iostream>
#include <math.h>
using namespace std;
double absolute( double x ) {
     return (( x >= 0.0 ) ? x : x*(-1) );
    }
double get_cof( double time ) {
     if( time ==1 ) return 1;
     double rettime = ( time + 1 ) / time;
     return rettime;
    }
double get_disnow( double time, double speed ) {
      double disnow = get_cof( time ) * speed;
      return disnow;
     }
double get_distance( double time, double speed ) {
     if( time ==1 ) return 20;
     double distance =  get_disnow( time, speed );
     return distance;
    }
using namespace std;
int main( int argc, char **argv ) {
     double x = 0.0;
     for( double t = 1.0; t < 10000 ;t+=1 )
         {
           x += get_distance( t, 10.0 );
           x *= get_cof( t );
           if( (absolute( x - (t * 100 ) ) < 5) || t == 6480 )
            {
                cout << " hallelua  time = " << t << endl;
                cout << "  Moskitos  =     " << x << " cm;   ";
                cout << ",  Man       =     " << t * 100 << " cm;   " << endl;
            }
         }
     return 0;
    }

Re[2]: Человек и паучок.
От: codelord  
Дата: 08.08.07 12:23
Оценка:
ошибся будет 12357 секунд ( перепутал местами вызов ф-ии )
вот так верно :
логика решения такая резинка у нас растягивается и соответственно
оказывает влияние на пройденное предыдущее растояние и на расстояние которое
в данный момент преодолевает паук, т/е
если в первую секунду
паук продвинулся на 10 см + 10 сантиметров дала резинка т/к она увеличилась ровно в два раза с 1 метра до 2
в следующую секунду на те 20 сантиметров которые паук преодолел резинка оказывает влияние уже меньшее
т/к резинка растягивается с 2 до 3 , за это же время паук преодолевает свои 10 см и на него оказывает влияние
тот же коэффициент, далее как выше то что мы прошли за предыдущую функцию умножаем на коэфф и прибавляем скорость паука
на тот же самый коэффициент растяжения резинки, в решении ниже может где ошибся но логика думаю понятна.
#include <iostream>
#include <math.h>
using namespace std;
double absolute( double x ) {
     return (( x >= 0.0 ) ? x : x*(-1) );
    }
double get_cof( double time ) {
     if( time ==1 ) return 1;
     double rettime = ( time + 1 ) / time;
     return rettime;
    }
double get_disnow( double time, double speed ) {
      double disnow = get_cof( time ) * speed;
      return disnow;
     }
double get_distance( double time, double speed ) {
     if( time ==1 ) return 20;
     double distance =  get_disnow( time, speed );
     return distance;
    }
using namespace std;
int main( int argc, char **argv ) {
     double x = 20.0;
     for( double t = 2.0; t < 20000 ;t+=1 )
         {
           x *= get_cof( t );
           x += get_distance( t, 10.0 );
           if( (absolute( x - (t * 100 ) ) < 10)  )
            {
                cout << " hallelua  time = " << t << endl;
                cout << "  Moskitos  =     " << x << " cm;   ";
                cout << ",  Man       =     " << t * 100 << " cm;   " << endl;
            }
         }
     return 0;
    }
Re[3]: Человек и паучок.
От: Seon  
Дата: 08.08.07 12:47
Оценка: -1
Здравствуйте, codelord, Вы писали:

C>ошибся будет 12357 секунд ( перепутал местами вызов ф-ии )

C>вот так верно :
C>логика решения такая резинка у нас растягивается и соответственно
C>оказывает влияние на пройденное предыдущее растояние и на расстояние которое
C>в данный момент преодолевает паук, т/е
C>если в первую секунду
C>паук продвинулся на 10 см + 10 сантиметров дала резинка т/к она увеличилась ровно в два раза с 1 метра до 2
C>в следующую секунду на те 20 сантиметров которые паук преодолел резинка оказывает влияние уже меньшее
C>т/к резинка растягивается с 2 до 3 , за это же время паук преодолевает свои 10 см и на него оказывает влияние
C>тот же коэффициент, далее как выше то что мы прошли за предыдущую функцию умножаем на коэфф и прибавляем скорость паука
C>на тот же самый коэффициент растяжения резинки, в решении ниже может где ошибся но логика думаю понятна.
C>
C>#include <iostream>
C>#include <math.h>
C>using namespace std;
C>double absolute( double x ) {
C>     return (( x >= 0.0 ) ? x : x*(-1) );
C>    }
C>double get_cof( double time ) {
C>     if( time ==1 ) return 1;
C>     double rettime = ( time + 1 ) / time;
C>     return rettime;
C>    }
C>double get_disnow( double time, double speed ) {
C>      double disnow = get_cof( time ) * speed;
C>      return disnow;
C>     }
C>double get_distance( double time, double speed ) {
C>     if( time ==1 ) return 20;
C>     double distance =  get_disnow( time, speed );
C>     return distance;
C>    }
C>using namespace std;
C>int main( int argc, char **argv ) {
C>     double x = 20.0;
C>     for( double t = 2.0; t < 20000 ;t+=1 )
C>         {
C>           x *= get_cof( t );
C>           x += get_distance( t, 10.0 );
C>           if( (absolute( x - (t * 100 ) ) < 10)  )
C>            {
C>                cout << " hallelua  time = " << t << endl;
C>                cout << "  Moskitos  =     " << x << " cm;   ";
C>                cout << ",  Man       =     " << t * 100 << " cm;   " << endl;
C>            }
C>         }
C>     return 0;
C>    }
C>


красиво, ничего не скажешь
if( time ==1 ) return 20; — это что?
Re: Человек и паучок.
От: andyJB  
Дата: 08.08.07 12:49
Оценка: 5 (2) +1 -1
Здравствуйте, SlaVVVa, Вы писали:
SVV>Логически:
SVV>Человек движеться равномерно. Паучок с ускорением т.к. к его пройденному пути прибавляется растяжение нити и чем больше он прополз, тем больше это приращение. Отсуда следует что обязательно догонит. А вот как высчитать время?
Да, вроде, за пять минут можно решить в лоб, если помнить дифуры.
v — скорость паучка, V — человека, L — длина веревки.
Для паучка:
x' = x/(Vt+L)*V + v или x'(Vt+L) — xV = v(Vt+L)
x(0) = 0
Это стандартный дифур, интегрирующий множитель 1/(Vt+L)
Получаем x(t) = (Vt+L)ln(Vt+L)v/V + C.
C = — L*ln(L)v/V.
Осталось подставить в условие встречи: VT+L = (VT+L)*ln(VT+L)v/V — L*ln(L)v/V
числа из условия: (T+1) = (T+1)ln(T+1)*0.1 или T = e^10-1
Потребуется где-то часов 6.
Re[4]: Человек и паучок.
От: codelord  
Дата: 08.08.07 12:52
Оценка:
Здравствуйте, Seon, Вы писали:
S>красиво, ничего не скажешь
S>if( time ==1 ) return 20; — это что?

это растояние паук преодолел за первую секунду,
может и не красиво но я собственно к этому и не стремился
Re: Человек и паучок.
От: ДимДимыч Украина http://klug.org.ua
Дата: 08.08.07 12:52
Оценка:
Здравствуйте, SlaVVVa, Вы писали:

SVV>Вопрос: догонит ли паучок человека, и если догонит, то за какое время?


Что-то мне кажется, что если решать "в лоб", то все сводится к дифференциальному уравнению.
Идея с фиксацией длины резинки и "замедлением" времени для паучка мне нравится, только еще не понял, как к ней подступиться.
Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.