Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.02.2012, 20:48   #1
Dmitry_Web
Пользователь
 
Аватар для Dmitry_Web
 
Регистрация: 01.11.2011
Сообщений: 43
По умолчанию С++ Рекурсия

Снимок.JPG
Не знаю как расписать рекурсивно и без рекурсии.
Dmitry_Web вне форума Ответить с цитированием
Старый 03.02.2012, 21:17   #2
Katus
Форумчанин
 
Регистрация: 30.11.2011
Сообщений: 161
По умолчанию

Код:
int y_n(int n, int i)
{
  if (n > i) {
    r = sqrt(i + y_n(n, i++));
    return r;
  } else
    return 0;
}
// res:=y_n(n, 1);

// это не оч эффкектиный способ
Если лень что-то делать, заставь это делать машину ... =,

Последний раз редактировалось Katus; 03.02.2012 в 22:03.
Katus вне форума Ответить с цитированием
Старый 03.02.2012, 21:45   #3
Dmitry_Web
Пользователь
 
Аватар для Dmitry_Web
 
Регистрация: 01.11.2011
Сообщений: 43
По умолчанию

Спасибо, но код не нужен, нужно обьяснение как расписать формулу.
Dmitry_Web вне форума Ответить с цитированием
Старый 03.02.2012, 22:01   #4
Katus
Форумчанин
 
Регистрация: 30.11.2011
Сообщений: 161
По умолчанию

тут 2 способа. первый от 1 а второй от N.

у меня от 1.

для моей версии узнаем значение i + y_n(n, i++); .открывается функция и сравнивает i с n если равны то снова вычисляем вышенаписанное выражение повторно открывая функцию.... до тех пор пока (n != i) == 0. как тлько это выражение станет равным мы выходим из текущей функции и соответсвенно закрываются все остальные
Если лень что-то делать, заставь это делать машину ... =,
Katus вне форума Ответить с цитированием
Старый 03.02.2012, 22:11   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Dmitry_Web
А код вышеприведенный тебе не говорит ни о чем?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.02.2012, 00:55   #6
Dmitry_Web
Пользователь
 
Аватар для Dmitry_Web
 
Регистрация: 01.11.2011
Сообщений: 43
По умолчанию

Без рекурсии разобрался:
Код:
double x, y=0, z=0;
for(int i=n; i>0; i--)
{
  y=sqrt(z+i);
  z=y;
}
return y;
Dmitry_Web вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
рекурсия qwerty98765 Помощь студентам 1 10.04.2010 15:22
рекурсия misha25525 Помощь студентам 4 25.03.2010 18:57
рекурсия -Spirit- Помощь студентам 1 14.01.2010 16:40
Рекурсия Golovastik Общие вопросы C/C++ 7 15.09.2009 20:36