Помогите решить задачку по информатике, пожалуйста! - Littleone 2006-2009
Архив форума 04.2006 - 04.2009

Вернуться   Littleone 2006-2009 > Хобби и увлечения > Hard and soft



 
Опции темы Поиск в этой теме Опции просмотра
Старый 07-10-2008, 22:48     #1
irinaS
Элита
 
Профиль irinaS
 
Зарегистрирован: Apr 2003
Сообщения: 1 705
irinaS отсутствует


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


Это как?
Старый 07-10-2008, 23:26     #2
icelex
Участник
 
Зарегистрирован: Feb 2008
Сообщения: 195
icelex отсутствует


int Sum(int x, int i, int n, int diff)
{
if (i <= n) return x + Sum(x+diff, ++i, n, diff); // вроде так или примерно так
else return 0;
}

int main()
{
int x = 3; // первый
int diff = 5; // разниццо
int n = 4; // сколько слагаемых
int i = 1; // щетчег
int result = Sum(x, i, n, diff); // вот и результат
}

рекурсия - это функция, вызывающая сама себя
но в большинстве случаев рекурсии надо бояться, как огня
Старый 07-10-2008, 23:30
ответ для icelex на сообщение "int Sum(int x, int i, int n, int..."
    #3
irinaS
Элита
 
Профиль irinaS
 
Зарегистрирован: Apr 2003
Сообщения: 1 705
irinaS отсутствует


Цитата:
Сообщение от icelex Посмотреть сообщение
int Sum(int x, int i, int n, int diff)
{
if (i <= n) return x + Sum(x+diff, ++i, n, diff); // вроде так или примерно так
}

int main()
{
int x = 3; // первый
int diff = 5; // разниццо
int n = 4; // сколько слагаемых
int i = 1; // щетчег
int result = Sum(x, i, n, diff); // вот и результат
}

рекурсия - это функция, вызывающая сама себя
но в большинстве случаев рекурсии надо бояться, как огня

Ничего не поняла, но огромное вам спасибо!:f lower:
Передам результат нуждающимся
Старый 07-10-2008, 23:35     #4
icelex
Участник
 
Зарегистрирован: Feb 2008
Сообщения: 195
icelex отсутствует


обратите внимание, я подправил функцию, теперь точняк
Старый 08-10-2008, 00:17     #5
irinaS
Элита
 
Профиль irinaS
 
Зарегистрирован: Apr 2003
Сообщения: 1 705
irinaS отсутствует


Супер! Еще раз респект и уважуха
Старый 08-10-2008, 09:44
ответ для icelex на сообщение "int Sum(int x, int i, int n, int..."
    #6
Melman Mankowitz
Ветеран
 
Зарегистрирован: Sep 2008
Адрес: Рыбацкое
Сообщения: 956
Melman Mankowitz отсутствует


Цитата:
Сообщение от icelex Посмотреть сообщение
но в большинстве случаев рекурсии надо бояться, как огня
Ересь! Цикл - от человека, рекурсия - от бога!

Старый 08-10-2008, 12:56     #7
Dreaming Violin
Частый гость
 
Зарегистрирован: Jun 2008
Сообщения: 89
Dreaming Violin отсутствует


Цитата:
Сообщение от Melman Mankowitz Посмотреть сообщение
Ересь! Цикл - от человека, рекурсия - от бога!

Сорри за офф.......
Жили-были 3 студента, изучающие программирование. Вот как они договорились вставать утром на лекцию - первый будит второго, второй - третьего, а третий - первого.
Вот такая рекурсия получилась. А лекцию проспали.........
Старый 08-10-2008, 13:15     #8
Melman Mankowitz
Ветеран
 
Зарегистрирован: Sep 2008
Адрес: Рыбацкое
Сообщения: 956
Melman Mankowitz отсутствует


Цитата:
Сообщение от Dreaming Violin Посмотреть сообщение
Сорри за офф.......
Жили-были 3 студента, изучающие программирование. Вот как они договорились вставать утром на лекцию - первый будит второго, второй - третьего, а третий - первого.
Вот такая рекурсия получилась. А лекцию проспали.........
Плохо же они изучали программирование. Ибо не предусмотрели точек входа и выхода.
Старый 08-10-2008, 14:12     #9
Dreaming Violin
Частый гость
 
Зарегистрирован: Jun 2008
Сообщения: 89
Dreaming Violin отсутствует


Цитата:
Сообщение от Melman Mankowitz Посмотреть сообщение
Прохо же они изучали программирование. Ибо не предусмотрели точек входа и выхода.
Надеюсь, курсу к 5-му изучат и это. Если перестанут просыпать лекции





Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

vB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +3, время: 09:51.


Powered by vBulletin® Version 3.6.12
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.