Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
dima12494
0 / 0 / 0
Регистрация: 06.01.2012
Сообщений: 5
#1

Рекурсия(вычислить 1*2*3*...n+2*3*4*...(n-1)+3*4*5*(n-2)+...) - C++

06.01.2012, 22:14. Просмотров 549. Ответов 2
Метки нет (Все метки)

дано натуральное число n. вычислить 1*2*3*...n+2*3*4*...(n-1)+3*4*5*(n-2)+...

Очень срочно!!
Заранее спасибо!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2012, 22:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Рекурсия(вычислить 1*2*3*...n+2*3*4*...(n-1)+3*4*5*(n-2)+...) (C++):

Рекурсия (вычислить значение выражения) - C++
В универе дали задачку, просто так ее можно сделать, но нужно пользоваться рекурсией, а с ней я, черт возьми, никак не могу разобраться( ...

Рекурсия: вычислить сумму ряда - C++
Используя рекурсивный вызов функции вычислить с заданной точностью сумму ряда: \sum_{n=1} \frac{n!{x}^{n}}{{(n+1)}^{n}}. Прошу написать...

Рекурсия. Вычислить значение суммы - C++
задание внутри помогите пожалуйста:cry::cry::cry:

Рекурсия: вычислить значение выражения - C++
Ребят, помогите минимально. Принцип рекурсии понимаю, как использовать не особо. Заранее, спасибо. Задание: Описать функции для...

Рекурсия: вычислить произведение элементов массива - C++
Привет! Помогите пожалуйста девушке необразованной найти ошибки в коде, а то выгонят нафиг:help: Задача такая-вычислить произведение...

Вычислить значения бесконечной суммы (рекурсия) - C++
Здравствуйте. Я написал код, но он зациклился, не останавливаться. Подскажите, что у меня не так? Раскрыл рекуррентную формулу вроде...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
06.01.2012, 23:32 #2
Заранее пожалуйста.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <stdio.h>
 
long int multiplyRange(int begin, int end) {
  long int result = 1;
  while (begin <= end)
    result *= begin++;
  return result;
}
 
long int calculateInternal(int begin, int end) {
  if (begin > end) return 0;
  return multiplyRange(begin, end) + calculateInternal(begin + 1, end - 1);
}
 
long int calculate(int n) {
  return calculateInternal(1, n);
}
 
int main(int argc, char *argv[]) {
  // 1 * 2 = 2
  printf("%ld\n", calculate(2));
  // 1 * 2 * 3 + 2 = 8
  printf("%ld\n", calculate(3));
  // 1 * 2 * 3 * 4 + 2 * 3 = 30
  printf("%ld\n", calculate(4));
  // 1 * 2 * 3 * 4 * 5 + 2 * 3 * 4 + 3 = 120 + 24 + 3 = 147
  printf("%ld\n", calculate(5));
  return 0;
}

Не по теме:

Цитата Сообщение от dima12494 Посмотреть сообщение
Очень срочно!!
Очень срочно -- это во фриланс. Тут как сделают, так и сделают. Не раньше, не позже.

Байт
Эксперт C
15987 / 10255 / 1536
Регистрация: 24.12.2010
Сообщений: 19,345
07.01.2012, 00:16 #3
Цитата Сообщение от lemegeton Посмотреть сообщение
Заранее пожалуйста.
Одно это дорогого стоит! А решение - изящное. Пусть пользуется твоей добротой. С праздником!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.01.2012, 00:16
Привет! Вот еще темы с ответами:

Вычислить значение выражения (рекурсия/итерация) - C++
Вычеслить y(n)= 1/n+1/(n-1)+1/(n-2)+1/...+1/1+1дробь2 Решит с использыванием рекурсии и без нее

Рекурсия: вычислить сумму членов заданной последовательности - C++
Составить программу с использованием рекурсивной функции, в которой вычислить сумму 12 членов рекурсивной последовательности Х0=1; Х1=1;...

Рекурсия, вычислить площадь комнаты в квадратном лабиринте - C++
Требуется вычислить площадь комнаты в квадратном лабиринте. Формат входных данных В первой строке вводится число N – размер...

Рекурсия: вычислить количество лесенок, которое можно построить из N кубиков - C++
Здраствуйте! У меня есть одна классическая задачка про Лесенку. Лесенка Лесенкой называется набор кубиков, в котором каждый более...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru