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

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

31.10.2015, 20:13. Показов 2414. Ответов 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,991
Записей в блоге: 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,991
Записей в блоге: 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,991
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru