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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 47, средняя оценка - 4.91
Dunkelheit
4 / 4 / 1
Регистрация: 27.02.2012
Сообщений: 87
#1

Напишите программу вычисления суммы: 1! + 2! + 3! + … + n!, используя функцию вычисления факториала числа k. - C++

04.04.2012, 14:51. Просмотров 6093. Ответов 2
Метки нет (Все метки)

Напишите программу вычисления суммы: 1! + 2! + 3! + … + n!, используя функцию вычисления факториала числа k.
И вновь заранее благодарю, людей, которые возможно помогут
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2012, 14:51     Напишите программу вычисления суммы: 1! + 2! + 3! + … + n!, используя функцию вычисления факториала числа k.
Посмотрите здесь:
Реальзовать Функцию вычисления факториала числа C++
C++ Используя пользовательскую рекурсивную функцию вычисления факториала вычислить значение заданного выражения
Написать программу для вычисления факториала числа C++
C++ Найти m! + (m+n)!, создав рекурсивную функцию для вычисления факториала произвольного натурального числа. C++
C++ Написать программу для вычисления двойного факториала числа
Написать программу для вычисления факториала числа с заданной точностью C++
Напишите функцию для вычисления и-го числа Фибоначчи C++
C++ Напишите программу вычисления суммы квадратов простых чисел, лежащих в интервале (M,N)
написать программу которая вводит целое число и определяет сумму его цифр. Использовать функцию вычисления суммы цифр числа C++
Написать программу вычисления суммы элементов массива, используя перегрузку функций C++
Написать рекурсивную функцию вычисления суммы цифр натурального числа C++
C++ Написать рекурсивную функцию вычисления суммы цифр натурального числа

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dr.curse
387 / 343 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
04.04.2012, 15:03     Напишите программу вычисления суммы: 1! + 2! + 3! + … + n!, используя функцию вычисления факториала числа k. #2
вот
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
typedef unsigned long long ull;
ull fact(int n)
{
    return ((n==0 || n==1) ? 1 : n*fact(n-1));
}
ull sumfact(int n)
{
   return ((n==0 || n==1) ? 1 : fact(n)+sumfact(n-1));
}
int main()
{
   int n;
   std::cin >> n;
   std::cout << sumfact(n);
   return 0;
}
UFO94
264 / 253 / 13
Регистрация: 04.04.2012
Сообщений: 546
04.04.2012, 15:10     Напишите программу вычисления суммы: 1! + 2! + 3! + … + n!, используя функцию вычисления факториала числа k. #3
Я, может, не понял подвоха, но вроде как все просто.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Input n\n");
int n;
scanf("%d",&n);
int s=0;
for(int i=1; i<=n; i++)
s+=fact(i);
printf("%d\n",s);
system("Pause");
return 0;
}
int fact(int x)//Вычисление факториала х через факториал х-1
{
if(x==0)
return 1;
return x*fact(x-1);
}
Либо, раз уж здесь используется рекурсия, можно сделать рациональнее.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
]#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Input n\n");
int n;
scanf("%d",&n);
int s=1;//Тут распишем выражение как 1+2(1+3*(1+...(n-1)*(1+n)
for(int i=n; i>1; i--)
{
s*=i
s++;
}
printf("%d\n",s);
system("Pause");
return 0;
}
Второй вариант работает быстрее и жрет меньше оперативки (а для факториала это существенно), но там не используется функция факториала в чистом виде, там факториала и сумма в "одном флаконе"
Ответ Создать тему
Опции темы

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