![]() |
|
![]() ![]() ![]() |
|
Shurman38 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 6.7.2007 Репутация: нет Всего: нет |
n + 4, if 1<=n<=10
f(n){ g(n-1)-n, then 2n, if 1<=n<=10 g(n)={ f(n-1)-1, then n=13 И ещё нужно отобразить содержимое stack при каждом вызове. Как её решать? |
|||
|
||||
Shurman38 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 6.7.2007 Репутация: нет Всего: нет |
Да, по ходу я не там, где надо тему запостил. Извиняюсь.
По идее мне нужна суть решения, в смысле язык програмирования не важен. В следующий раз буду внимательней. |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: нет Всего: 538 |
Модератор: флейм - удалил. Тема перемещена из Java: Общие вопросы
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Ну будет у тебя три разных итерации для 13 12 11, и 10 одинаковых, если у тебя n будет уменьшаться в ходе работы. Если я конечно правильно понял: если n в отрезке 0;10 то n +4. Если нет- то переходим к g. Так?
-------------------- Всем добра ![]() |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
так а что, собственно, нужно сделать?
алгоритм вычисления функций тут уже написан что касается стека, то тут уже зависит от того, на чём всё это будет реализовано (даже на одном и том же языке для разных компиляторов, по идее, может получиться немного разное содержимое стека) -------------------- qqq |
|||
|
||||
Shurman38 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 6.7.2007 Репутация: нет Всего: нет |
Чему равна f и ход решения. Я вообще не пойму, как эту рекурсию решать.
А содержание стэка не для какого-нить языка конкретно, а просто обобщенно. |
|||
|
||||
SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Хехе, долго не понимаешь.
Бери f и подставляй туда 13. Получишь переход к g уже в точке 12. Из g вернешься в f с точкой 11, с ней обратно в g и потом останутся на каждом шаге зависимости 2n. Берешь бумажку и считаешь. ![]() Это сообщение отредактировал(а) SoWa - 8.7.2007, 05:55 -------------------- Всем добра ![]() |
|||
|
||||
Shurman38 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 6.7.2007 Репутация: нет Всего: нет |
Какие зависимости 2n? Можете подумать, что я тупой, но я ничего не могу понять.
Добавлено через 12 минут и 41 секунду n + 4, if 1<=n<=10 f(n){ g(n-1)+n, then -- 2n, if 1<=n<=10 g(n)={ f(n-1)-1, then Найти f(13) Неправильно условие написал. |
|||
|
||||
Shurman38 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 6.7.2007 Репутация: нет Всего: нет |
f(13)=g(12)+13
=f(11)-12+13 =g(10)+11-12+13 =f(9)-10+11-12+13 =g(8)+9-10+11-12+13 =f(7)-8+9-10+11-12+13 =g(6)+7-8+9-10+11-12+13 =f(5)-6+7-8+9-10+11-12+13 Дальше f(5) лежит в отрезке между 1 и 10, следовательно f(5) равна 5+4. И того:5+4-6+7-8+9-10+11-12+13=19 А где 2n должна сработать? Или я неправильно посчитал? |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
уже тут нужно было использовать g(n)=2n, ведь 1<=n<=10 -------------------- qqq |
|||
|
||||
Shurman38 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 6.7.2007 Репутация: нет Всего: нет |
Это почему? 2n=2*10=20, а это уже не в отрезке 1<=n<=10.
|
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
так не 2n ведь надо проверять на вхождение в отрезок, а n
-------------------- qqq |
|||
|
||||
Shurman38 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 6.7.2007 Репутация: нет Всего: нет |
f(13)=g(12)+13
=f(11)-12+13 =g(10)+11-12+13 Дальше g(10) лежит в отрезке между 1 и 10, следовательно g(10) равна 2n=10*2=20. Следовательно 20+11-12+13=32 А где должна n+4 сработать? |
|||
|
||||
Artemios |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 14.8.2006 Где: Саратов, Россия Репутация: 1 Всего: 50 |
n+4 сработает, если будешь считать например f(12) -------------------- fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ] |
|||
|
||||
SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Ты проверяешь первое условие, делаешь, а потом еще и второе. Зачем?
-------------------- Всем добра ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |