Здравствуйте, VsevolodC, Вы писали:
VC>Здравствуйте, navy, Вы писали:
N>>На собеседовании в .. в числе других задач задаю задачу такого типа VC>... N>>Вопрос: какое верное решение?
VC>т.е. ты задаешь задачу не зная решения? VC>кстати условие противоречиво.
B>Вообще-то это функциональное уравнение. B>Решать надо видимо аналитически, а не тупо набив функцию на С. B>А на какую позицию ты собеседуешься и куда, если не секрет?
Здравствуйте, navy, Вы писали:
N>Здравствуйте, VsevolodC, Вы писали:
VC>>Здравствуйте, navy, Вы писали:
N>>>На собеседовании в .. в числе других задач задаю задачу такого типа VC>>... N>>>Вопрос: какое верное решение?
VC>>т.е. ты задаешь задачу не зная решения? VC>>кстати условие противоречиво.
N>ОписАлся N>Задали МНЕ
а "найти F" ?
я считаю, что это совсем не то же самое, что
"написать функцию вычисления F"
по крайней мере это повод уточнить задачу
Здравствуйте, Oyster, Вы писали:
O>Здравствуйте, Александр Каширин, Вы писали:
АК>>В данном случае, кроме быстро возрастающей функции, есть еще одна проблема: рекурсия. Пока вычисление доберется до уровня F(x,0) и F(0,y), потребуется (с ходу могу ошибиться немножко): (x-1)*(y-1) уровней вложенности. Возможно, именно это приведет к раннему "обвалу" функции, а не порядок результата. Хотя зависит от размера стека.
O>Ошибся. Максимальный уровень вложенности будет max(x, y).
Мы оба ошиблись: на самом деле это будет x+y (может быть еще минус 1) Это действительно не так много, как x*y, так что быстро нарастающая функция таки да быстрее приведет к проблеме.
Здравствуйте, navy, Вы писали:
N>На собеседовании в .. в числе других задач задаю задачу такого типа
N>F(x, 0) = x^2 N>F(0, y) = y^5 — y N>F(x,y) = (F(x-1,y))^4 — (F(x,y-1))^3
N>Найти F
N>Вопрос: какое верное решение?
В приведённых вами условиях — никакого. Вот смотрите:
Здравствуйте, navy, Вы писали:
N>На собеседовании в .. в числе других задач задаю задачу такого типа
N>F(x, 0) = x^2 N>F(0, y) = y^5 — y N>F(x,y) = (F(x-1,y))^4 — (F(x,y-1))^3
N>Найти F
N>
Здравствуйте, bkat, Вы писали:
B>Вообще-то это функциональное уравнение. B>Решать надо видимо аналитически, а не тупо набив функцию на С.
Вообще-то у функционального уравнения ответом должна быть функция, а не число.
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Здравствуйте, Tilir, Вы писали:
T>В приведённых вами условиях — никакого. Вот смотрите: T>F(0, 0) = (F(-1,0))^4 — (F(0,-1))^3 = (-1)^4 — (-2)^3 = 9 T>Одновременно F(0, 0) = 0^2 = 0 T>Мы пришли к противоречию, следовательно решений нет.
Ты никогда не видел в математике запись
y(x)=0 при x<0
y(x)=x при x=>0
(тут еще должна быть большая фигурная скобка — не знаю как ее в форуме нарисовать)
Так вот функция это отображения аргументов(в данный момент пары точек) на результат, по определенным правилам.
На первом шаге вычисления ты правилами пренебрег посчитав все это не определением функции, а системой уравнений.
Сам себе злобный буратино
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Здравствуйте, Anatolix, Вы писали:
A>Здравствуйте, bkat, Вы писали:
B>>Вообще-то это функциональное уравнение. B>>Решать надо видимо аналитически, а не тупо набив функцию на С.
A>Вообще-то у функционального уравнения ответом должна быть функция, а не число.
Тфу — попутал с слово функциональное с дифференциальным. Но вообщем смысл такой, что это не уравнение нифига.
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Студент технического ВУЗа 2-го курса такую задачу сделает на раз. Предмет "высшая математика".
И ответ должен быть в виде функции -- при вышеописанных данных
Пусть x,y принимают только целые значения
Допустим x>=y , тогда есть такие m и n что y=m x=m+n
Если расписать F(x,y)
F(x,y)
+F(x-1,y)^4 -F(x,y-1)^3
+(+F(x-2,y)^4 -F(x-1,y-1)^3)^4 -(+F(x-1,y-1)^4 -F(x,y-2)^3)^3
...
дойдем до разложения когда
+(...(+F(x-n,y)^4 ...)...)^4 — -(...(... -F(x,0)^3)...)^3
при таком раскладе если все перемножить а потом сократить + и — (полностью не проверял но похоже что так
получим всего 2 слагаемых
+(F(x-n,y))^(4*n) — (F(x,0))^(3*n)
после подстановки x и y выраженных через n и m получим
+(F(m,m))^(4*n) — (F(m+n,0)^(3*n)
первое слагаемое можно разложить дальше
((F(0,m)^(4*m) — (F(m,0))^(3*m))^(4*n) — (F(m+n,0)^(3*n)
это выражение уже легко вычислить как выражение от F(x,0) и F(0,y)
вроде развернул рекурсию (если нигде не наврал
O>Ну если оно там всё хорошо вписывается в ограничение double после сокращения, то, я думаю, можно просто тупо использовать double (потому что тогда любое значение F() вписывается в double, в том числе F(x-1,y) и F(x,y-1), и проблемы будут только в том случае, если очередное значение F() достигнет степени (308/3) или (308/4), что, в общем-то, достаточно дофига).
Ага. Больше числа атомов во Вселенной. Так что на любой имеющей смысл задаче переполнение Double — бред.
Опыт — это такая вещь, которая появляется сразу после того, как была нужна...
Здравствуйте, EM, Вы писали:
O>>Ну если оно там всё хорошо вписывается в ограничение double после сокращения, то, я думаю, можно просто тупо использовать double (потому что тогда любое значение F() вписывается в double, в том числе F(x-1,y) и F(x,y-1), и проблемы будут только в том случае, если очередное значение F() достигнет степени (308/3) или (308/4), что, в общем-то, достаточно дофига).
EM>Ага. Больше числа атомов во Вселенной. Так что на любой имеющей смысл задаче переполнение Double — бред.
не скажи, вдруг нужно расчитывать размеры вселенной с точностью до миллиметров
Здравствуйте, _Morpheus_, Вы писали:
_M_>Здравствуйте, EM, Вы писали:
O>>>Ну если оно там всё хорошо вписывается в ограничение double после сокращения, то, я думаю, можно просто тупо использовать double (потому что тогда любое значение F() вписывается в double, в том числе F(x-1,y) и F(x,y-1), и проблемы будут только в том случае, если очередное значение F() достигнет степени (308/3) или (308/4), что, в общем-то, достаточно дофига).
EM>>Ага. Больше числа атомов во Вселенной. Так что на любой имеющей смысл задаче переполнение Double — бред.
_M_>не скажи, вдруг нужно расчитывать размеры вселенной с точностью до миллиметров
Похоже ты школьную физику забыл — размеры вселенной это совсем другой порядок. Возраст Вселенной O(10^10) * скорость света O (10^10) см\сек будет порядка 10^20 что никак не даст тебе 10^300 даже если накинуть порядок за перевод в миллиметры
Опыт — это такая вещь, которая появляется сразу после того, как была нужна...
Здравствуйте, EM, Вы писали:
O>>>>Ну если оно там всё хорошо вписывается в ограничение double после сокращения, то, я думаю, можно просто тупо использовать double (потому что тогда любое значение F() вписывается в double, в том числе F(x-1,y) и F(x,y-1), и проблемы будут только в том случае, если очередное значение F() достигнет степени (308/3) или (308/4), что, в общем-то, достаточно дофига).
EM>>>Ага. Больше числа атомов во Вселенной. Так что на любой имеющей смысл задаче переполнение Double — бред.
_M_>>не скажи, вдруг нужно расчитывать размеры вселенной с точностью до миллиметров
EM>Похоже ты школьную физику забыл — размеры вселенной это совсем другой порядок. Возраст Вселенной O(10^10) * скорость света O (10^10) см\сек будет порядка 10^20 что никак не даст тебе 10^300 даже если накинуть порядок за перевод в миллиметры
тогда так, сколько потребуется бензина чтобы проехать через одну точку вселенной 10^100 раз на автомобиле, при условии что автомобиль движется по прямой, скорость 100 км/час, расход 10 л/с?