Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 1
Регистрация: 12.10.2015
Сообщений: 133

Вычислить выражение, используя рекурсию

31.10.2015, 20:13. Показов 2401. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста!! Вообще не понимаю как это сделать..
Вычислить выражение, использую рекурсию:
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.10.2015, 20:13
Ответы с готовыми решениями:

Вычислить, используя рекурсию, выражение
Вычислить, испольузуя рекурсию, выражение \sqrt{6+2\sqrt{7+3\sqrt{8+4\sqrt{9+...}}}}

Вычислить выражение используя рекурсию
Вычислить выражение в правой части, используя рекурсию. y=cos(x)+cos(2x)+cos(3x)+......cos(nx)

Вычислите, используя рекурсию, выражение y=x+2*x^2+3*x^4+ ... для некоторого n (n – количество рекурсивных вызовов)
Вычислите, используя рекурсию, выражение y=x+2*x^2+3*x^4+ ... для некоторого n (n – количество рекурсивных вызовов). Заранее спасибо и...

10
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
31.10.2015, 20:32
Вообще не понимаешь как делать именно это, или вообще не понимаешь как писать программы и не соображаешь в математике?
0
0 / 0 / 1
Регистрация: 12.10.2015
Сообщений: 133
31.10.2015, 20:47  [ТС]
castaway, не понимаю рекурсию
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
31.10.2015, 20:59
Цитата Сообщение от Nastya15684 Посмотреть сообщение
castaway, не понимаю рекурсию
С рекурсией могу помочь, но мне не понятно до какого предела считается твоя формула.
0
2 / 2 / 2
Регистрация: 26.10.2015
Сообщений: 45
31.10.2015, 21:08
считает дo n-го количества?
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,988
Записей в блоге: 32
31.10.2015, 21:36
А ведь эта штука сходится. К 4. По крайней мере, практические расчеты это показывают. Только как красиво написать расчет рекурсивной функции с заданной точностью, а не с указанием количества итераций, да без неоптимальности многочисленных повторных пробегов - придумал только ДП с мемоизацией. Но полагаю, от этого ТС будет не в восторге.
1
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
31.10.2015, 21:44
C++
1
2
3
4
5
double foo( unsigned n ) {
    if ( n <= 0 ) return 0;
    double r = std::sqrt( n + 5 );
    return n == 1 ? r : foo( n - 1 ) + r;
}
Добавлено через 3 минуты
_Ivana, думаю, задать точность вместо количества итераций не так сложно.
1
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,988
Записей в блоге: 32
31.10.2015, 21:49
castaway, без повторного расчета функции до глубины рекурсии на 1 больше? Повторюсь, только через ДП-мемоизацию придумал. Но может в вашем алгоритме это и будет проще, не вникал в него пока (на каток спешу ) У меня то лобовой перевод формулы в кот:
C++
1
2
auto f = [](const auto& la, double a, double b, int i) -> double {
    return i ? sqrt(a+b*la(la,a+1,b+1,i-1)) : 1;};
Добавлено через 2 минуты

Не по теме:

Кстати, понимаю, что занудство, но n <= 0 с unsigned n имхо смотрится черезчур технологично :)

0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
31.10.2015, 22:01

Не по теме:

_Ivana, ты уж извини, но я не математик, и многих твоих терминов просто не понимаю:)



Добавлено через 3 минуты

Не по теме:

Цитата Сообщение от _Ivana Посмотреть сообщение
Кстати, понимаю, что занудство, но n <= 0 с unsigned n имхо смотрится черезчур технологично
Согласен. Не раз думал, в итоге сделал наспех) Параметр функции должен быть целочисленным знаковым. Спасибо за заметку!



Добавлено через 6 минут
_Ivana, кстати, лямбду можно ведь и попроще сделать...

Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от _Ivana Посмотреть сообщение
(на каток спешу )
Зачем спешить?) Вся зима впереди...)

0
31.10.2015, 22:59

Не по теме:

Цитата Сообщение от _Ivana Посмотреть сообщение
(на каток спешу :))
А у меня в городе 2см снега, да и кататься не умею, да и не с кем. :cry:

0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,988
Записей в блоге: 32
01.11.2015, 00:54
Цитата Сообщение от castaway Посмотреть сообщение
я не математик
ну я вообще-то тоже, но некоторые тривиальные преобразования на уровне пятого класса тут провести можно. Имея данную формулу, определим функцию

f(n) = sqrt (n + 4 + n*f(n+1)), значение которой при n=2 дает нам искомый результат. Пованговав, предположим, что явный вид нашей функции f(n) = abs (n+2), подставляем, проверяем:

(n+2)^2 = n + 4 + n*(n+3), все сходится, сразу безо всяких рекурсий пишем
C++
1
cout<<4;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.11.2015, 00:54
Помогаю со студенческими работами здесь

Вычислить n-ое число фибоначчи, используя рекурсию.
Вычислить n-ое число фибоначчи, используя рекурсию. Pomogite PLZ! Srochno nado!

Вычислить, используя рекурсию и без нее X
Вычислить, используя рекурсию и без нее: С циклом я справился, а вот рекурсия пока что не даётся, но мысль всё равно есть. ...

Используя оператор if, вычислить выражение
Использую оператор if, вычислить заданное выражение для данных типа Integer: f(x)=\begin{cases} sin^2(x)-cos^2(x) &amp; \text{ , } x...

Вычислить выражение, используя циклы
Уважаемые программисты форума, кроме как к Вам мне обратиться нет к кому. Я только начинаю учить С++, но времени катастрофически не...

Вычислить выражение используя функцию
Написать программу решения задачи, используя функции: в основной функции ввести с клавиатуры или вычислить с помощью генератора случайных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru