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

Вычисление конечных и бесконечных сумм и произведений - C++

Восстановить пароль Регистрация
 
Павел Фионов
0 / 0 / 0
Регистрация: 22.06.2013
Сообщений: 5
22.06.2013, 16:00     Вычисление конечных и бесконечных сумм и произведений #1
1) Для заданного натурального n и действительного x подсчитать следующие суммы:

S=1!+2!+3!+...+n!;

Помогите пожалуйста, просто лекций по этим темам не было, а сдать задачи требуют.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2013, 16:00     Вычисление конечных и бесконечных сумм и произведений
Посмотрите здесь:

C++ Вычисление бесконечных сумм
Вычисление конечных и бесконечных сумм C++
C++ Циклические алгоритмы. Вычисление конечных сумм и произведений
Вычисление бесконечных сумм C++
Вычисление бесконечных сумм C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
m1Rr0r
 Аватар для m1Rr0r
247 / 230 / 15
Регистрация: 05.02.2010
Сообщений: 3,213
Завершенные тесты: 2
22.06.2013, 16:51     Вычисление конечных и бесконечных сумм и произведений #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
1)
#include <iostream>
using namespace std;
long f(int n)  {
if(n == 0 || n == 1)
return 1;
return n * f(n - 1);
}
int main()  {
int n;
long sum = 0;
cout << "n: ";
cin >> n;
for(int i = 0; i < n; i++)
sum += f(n);
cout << "sum: " << sum << endl;
return 0;
}
Thinker
22.06.2013, 18:02
  #3

Не по теме:

факториал это сверхэкспоненциальная функция, растет невероятно быстро. поэтому лучше не вычислять факториал каждый раз заново.

m1Rr0r
 Аватар для m1Rr0r
247 / 230 / 15
Регистрация: 05.02.2010
Сообщений: 3,213
Завершенные тесты: 2
22.06.2013, 18:11     Вычисление конечных и бесконечных сумм и произведений #4
Цитата Сообщение от Thinker Посмотреть сообщение

Не по теме:

факториал это сверхэкспоненциальная функция, растет невероятно быстро. поэтому лучше не вычислять факториал каждый раз заново.

Можно использовать что то вроде этого...
C++
1
2
3
4
5
6
7
int *fact = new int[n + 1];
fact[0] = 1;
fact[1] = 1;
for(int i = 2; i <= n; i++) 
fact[i] = i * fact[i - 1];
cout << fact[n];
delete []fact;
Думаю в данном случае:
Цитата Сообщение от Павел Фионов Посмотреть сообщение
сдать задачи требуют
скорость вычисления факториала не играет роль
И все же,Thinker, спасибо за замечание
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
22.06.2013, 18:15     Вычисление конечных и бесконечных сумм и произведений #5
m1Rr0r, не за что
можно без массива:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
int main()
{
   long n, p = 1, sum = 0;
   cout << "n = "; cin >> n;
   for(int i = 1; i <= n; i++)
   {
      p *= i;
      sum += p;
   }
   cout << "sum: " << sum << endl;
   return 0;
}
Yandex
Объявления
22.06.2013, 18:15     Вычисление конечных и бесконечных сумм и произведений
Ответ Создать тему
Опции темы

Текущее время: 11:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru