Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/49: Рейтинг темы: голосов - 49, средняя оценка - 4.55
4 / 4 / 1
Регистрация: 27.02.2012
Сообщений: 87
1

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

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


Напишите программу вычисления суммы: 1! + 2! + 3! + … + n!, используя функцию вычисления факториала числа k.
И вновь заранее благодарю, людей, которые возможно помогут
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2012, 14:51
Ответы с готовыми решениями:

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

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

Вычисление суммы, используя функцию вычисления факториала
Составить программу вычисления суммы (рис), используя функцию вычисления факториала натурального...

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

2
398 / 354 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
04.04.2012, 15:03 2
Лучший ответ Сообщение было отмечено Dunkelheit как решение

Решение

вот
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;
}
1
265 / 254 / 23
Регистрация: 04.04.2012
Сообщений: 546
04.04.2012, 15:10 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;
}
Второй вариант работает быстрее и жрет меньше оперативки (а для факториала это существенно), но там не используется функция факториала в чистом виде, там факториала и сумма в "одном флаконе"
3
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.04.2012, 15:10

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Напишите программу вычисления суммы: 1! + 2! + 3! + … + n! используя цикл for
Напишите программу вычисления суммы: 1! + 2! + 3! + … + n! используя цикл for

Написать программу вычисления факториала числа n, используя рекурсивную подпрограмму
Помогите решить задачи, очень нужно( 1. Написать программу вычисления факториала числа n,...

Составить рекурсивную программу-функцию вычисления факториала целого неотрицательного числа n
Составить рекурсивную программу-функцию вычисления факториала целого неотрицательного числа n.

Используя функцию, написать программу вычисления суммы ряда
Используя функцию, написать программу вычисления суммы ряда s=s(1)+…+s(n), где s(n)=(-1)^n...


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

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

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