С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ задача: какая банка останется последней? http://www.cyberforum.ru/cpp-beginners/thread538742.html
есть n банок, при первом подходе разбивают первую сначала банку и затем каждую вторую, при втором подходе первую не разбитую и каждую третью не разбитую и т.д. какую банку разобъют последней?
C++ Изучение встроенных типов стека и очереди в обобщенной и необобщенной реализациях на примере создания списка подсписков В соответствии с вариантом реализовать двухуровневую структуру данных в виде списка - подсписков.Для реализации структуры использовать встроенные типы стека и очереди в обобщенной и необобщенной... http://www.cyberforum.ru/cpp-beginners/thread538729.html
C++ Изучение базовых средств для организации и обработки простых динамических структур в виде линейных циклических списков
Помогите плиз !!!! вот задание -Начальная инициализация структуры (список пуст). -Добавление элемента в список (с учетом порядка, заданного в варианте). -Удаление элемента из списка (с учетом...
C++ Составить программу вычисления функции...
Составить программу вычисления функции f(t)=t^2+2,5t/t+1, аргументы вводятся с клавиатуры.
C++ comboBox http://www.cyberforum.ru/cpp-beginners/thread538657.html
есть три comboBoxа, из каждого передаются индексы выбранного элемента. и нужно из этих индексов создать трехзначное число. помогите пожалуйста, а то я туплю по жесткому 8))
C++ Структуры. Поиск книги по году издания. Написать программу поиска книги по году издания в массиве структур))))Заранее спасибо) подробнее

Показать сообщение отдельно
UFO94
264 / 253 / 13
Регистрация: 04.04.2012
Сообщений: 546
04.04.2012, 15:10
Я, может, не понял подвоха, но вроде как все просто.
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;
}
Второй вариант работает быстрее и жрет меньше оперативки (а для факториала это существенно), но там не используется функция факториала в чистом виде, там факториала и сумма в "одном флаконе"
3
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.