-1 / 0 / 0
Регистрация: 20.01.2013
Сообщений: 36
1

Функция для нахождения суммы факториалов

20.01.2013, 22:53. Показов 3264. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать программу вычисления суммы факториалов всех нечетных чисел от 1 до 9, использовав функцию вычисления факториала.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.01.2013, 22:53
Ответы с готовыми решениями:

Рекурсивная функция для нахождения суммы ряда
Создайте рекурсивную функцию для нахождения суммы s=Σ(x^n/n) выдает ошибку, объясните,...

Рекурсивная функция для нахождения n-го члена / суммы n первых членов геометрической прогрессии
Даны первый член и знаменатель геометрической прогрессии. Написать рекурсивную функцию для...

Функция нахождения суммы
Есть программный код на с++, с функцией нахождения суммы s1 и s2. Почему-то сумму s1,s2 не считает,...

Рекурсивная функция нахождения суммы арифметической прогрессии
Помогите. Не понимаю как написать. Даны первый член и разницу арифметической прогрессии....

14
54 / 54 / 2
Регистрация: 20.01.2013
Сообщений: 832
Записей в блоге: 1
20.01.2013, 23:48 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
void factorial( int a )
{
int answer = a;
for(int i = a - 1; i > 1; i--)
a *= i;
}
int main()
{
int answer = 0;
for( int i = 1; i <= 9; i++ )
answer += factorial( i );
 
cout << answer;
return 0;
}
если я правильно задачу понял
0
97 / 72 / 28
Регистрация: 08.10.2011
Сообщений: 130
21.01.2013, 00:27 3
HardLogin, Ваша функция типа void и вы используйте ее в выражении
C++
1
answer += factorial( i );
Кроме того, отсутствует using namespace std.
0
54 / 54 / 2
Регистрация: 20.01.2013
Сообщений: 832
Записей в блоге: 1
21.01.2013, 00:30 4
а ну да ну это мелочи я ж не компилил

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
int factorial( int a )
{
int answer = a;
for(int i = a - 1; i > 1; i--)
a *= i;
return a;
}
int main()
{
int answer = 0;
for( int i = 1; i <= 9; i++ )
answer += factorial( i );
 
cout << answer;
return 0;
}
вот
0
97 / 72 / 28
Регистрация: 08.10.2011
Сообщений: 130
21.01.2013, 00:37 5
Прототипа функции тоже нет.
Правильнее так.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
 
unsigned long factorial(int a);
 
int main()
{
int answer = 3;
for (int i = 3; i <= 9; i++)
answer += factorial( i );
cout << answer;
cin.get();
return 0;
}
 
unsigned long factorial(int a)
{
unsigned long answer=1;
for (int i=2;i<=a;i++)
answer*=i;
return answer;
}
0
54 / 54 / 2
Регистрация: 20.01.2013
Сообщений: 832
Записей в блоге: 1
21.01.2013, 00:41 6
а какая разница? можно и так и так в данном случае одинаково как
0
97 / 72 / 28
Регистрация: 08.10.2011
Сообщений: 130
21.01.2013, 00:44 7
Цитата Сообщение от HardLogin Посмотреть сообщение
а какая разница? можно и так и так в данном случае одинаково как
Без прототипа функции????
0
4023 / 3280 / 920
Регистрация: 25.03.2012
Сообщений: 12,269
Записей в блоге: 1
21.01.2013, 00:51 8
как минимум находить сумму факториалов через отдельный вызов функции для каждого факториала неэффективно.
суммировать лонги, сохраняя результат в инт, тоже черевато
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
unsigned long long facsum(int a);
 
int main(){
  std::cout << facsum(9);
  std::cin.get();
  return 0;
}
unsigned long long facsum(int a){
  unsigned long long result=2;
  unsigned long long fac=1;
  for (int i=2;i<=a;i++){
    fac*=i;
    result+=fac;
  }
  return result;
}
0
Croessmah
21.01.2013, 00:53
  #9

Не по теме:

Цитата Сообщение от programmer_11 Посмотреть сообщение
Без прототипа функции????
В случае HardLogin прототип не нужен

0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
21.01.2013, 04:58 10
Цитата Сообщение от programmer_11 Посмотреть сообщение
Прототипа функции тоже нет.
Правильнее так.
А нафига прототип ? Чтоб лучше запутывать код ?
0
1180 / 893 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
21.01.2013, 06:25 11
Эм, прототипа не может не быть, если есть определение функции. Поэтому, если функция определена раньше, чем используется, то проблем не будет, так как в этом случае прототипом является часть определения.
0
4023 / 3280 / 920
Регистрация: 25.03.2012
Сообщений: 12,269
Записей в блоге: 1
21.01.2013, 06:28 12
Это уже демагогия. Все и так понимают о чём речь.
0
1180 / 893 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
21.01.2013, 06:34 13
В каком месте это демагогия? Вы хоть знаете понятие этого слова?

В C++ есть свои ясные определения и понятия, поэтому стоит все называть своими именами.
0
4023 / 3280 / 920
Регистрация: 25.03.2012
Сообщений: 12,269
Записей в блоге: 1
21.01.2013, 06:38 14
называй это флудом, ... как хочешь. После пяти сообщений с ответами следует восемь с бесполезными рассуждениями, что называть прототипом функции.
http://en.wikipedia.org/wiki/Function_prototype

Не по теме:

забавно, что статью в русской вики уже кто-то испортил в этой области.

0
1180 / 893 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
21.01.2013, 06:45 15
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
бесполезными рассуждениями, что называть прототипом функции.
Тут рассуждать нечего, все уже давно разжевано и описано в книгах, в которых есть точное определение, что такое прототип. Я лишь это хотел донести.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.01.2013, 06:45
Помогаю со студенческими работами здесь

Функция для сложения факториалов двух чисел
Даны числа N&lt;M. Вычислить N! + !M. Сложность для меня заключается в чем? в том что преподаватель...

Рекурсивная функция нахождения суммы n членов арифметической прогрессии
Составить рекурсивную функцию нахождения суммы n членов арифметической прогрессии 1,3,... Найти...

Написать программу для вычисления суммы факториалов всех нечетных чисел от 1 до 9.
Помогите, пожалуйста, решить задачу в С++. Написать программу для вычисления суммы факториалов...

Составить программу для вычисления суммы факториалов всех четных чисел от 1 до n
Помогите, пожалуйста, составить программу для вычисления суммы факториалов всех четных чисел от 1...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru