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

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

Восстановить пароль Регистрация
 
Vladok1234567
-121 / 0 / 0
Регистрация: 20.01.2013
Сообщений: 36
20.01.2013, 22:53     Функция для нахождения суммы факториалов #1
Написать программу вычисления суммы факториалов всех нечетных чисел от 1 до 9, использовав функцию вычисления факториала.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2013, 22:53     Функция для нахождения суммы факториалов
Посмотрите здесь:

C++ Класс "Матрица" для нахождения суммы, разности, умножения матриц и суммы элементов матрицы.
C++ Составить программу для нахождения суммы
C++ Функция нахождения суммы
Распараллеливание потоков для нахождения суммы матрицы <omp.h> C++
Написать программу для вычисления суммы факториалов всех нечетных чисел от 1 до 9. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HardLogin
 Аватар для HardLogin
52 / 52 / 1
Регистрация: 20.01.2013
Сообщений: 640
Записей в блоге: 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;
}
если я правильно задачу понял
programmer_11
94 / 69 / 5
Регистрация: 08.10.2011
Сообщений: 130
21.01.2013, 00:27     Функция для нахождения суммы факториалов #3
HardLogin, Ваша функция типа void и вы используйте ее в выражении
C++
1
answer += factorial( i );
Кроме того, отсутствует using namespace std.
HardLogin
 Аватар для HardLogin
52 / 52 / 1
Регистрация: 20.01.2013
Сообщений: 640
Записей в блоге: 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;
}
вот
programmer_11
94 / 69 / 5
Регистрация: 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;
}
HardLogin
 Аватар для HardLogin
52 / 52 / 1
Регистрация: 20.01.2013
Сообщений: 640
Записей в блоге: 1
21.01.2013, 00:41     Функция для нахождения суммы факториалов #6
а какая разница? можно и так и так в данном случае одинаково как
programmer_11
94 / 69 / 5
Регистрация: 08.10.2011
Сообщений: 130
21.01.2013, 00:44     Функция для нахождения суммы факториалов #7
Цитата Сообщение от HardLogin Посмотреть сообщение
а какая разница? можно и так и так в данном случае одинаково как
Без прототипа функции????
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 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;
}
Croessmah
21.01.2013, 00:53
  #9

Не по теме:

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

Avazart
 Аватар для Avazart
6897 / 5137 / 252
Регистрация: 10.12.2010
Сообщений: 22,570
Записей в блоге: 17
21.01.2013, 04:58     Функция для нахождения суммы факториалов #10
Цитата Сообщение от programmer_11 Посмотреть сообщение
Прототипа функции тоже нет.
Правильнее так.
А нафига прототип ? Чтоб лучше запутывать код ?
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
21.01.2013, 06:25     Функция для нахождения суммы факториалов #11
Эм, прототипа не может не быть, если есть определение функции. Поэтому, если функция определена раньше, чем используется, то проблем не будет, так как в этом случае прототипом является часть определения.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
21.01.2013, 06:28     Функция для нахождения суммы факториалов #12
Это уже демагогия. Все и так понимают о чём речь.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
21.01.2013, 06:34     Функция для нахождения суммы факториалов #13
В каком месте это демагогия? Вы хоть знаете понятие этого слова?

В C++ есть свои ясные определения и понятия, поэтому стоит все называть своими именами.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
21.01.2013, 06:38     Функция для нахождения суммы факториалов #14
называй это флудом, ... как хочешь. После пяти сообщений с ответами следует восемь с бесполезными рассуждениями, что называть прототипом функции.
http://en.wikipedia.org/wiki/Function_prototype

Не по теме:

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

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2013, 06:45     Функция для нахождения суммы факториалов
Еще ссылки по теме:

Составить программу для нахождения суммы чисел от 1 до 100 C++
Рекурсивная функция для нахождения n-го члена / суммы n первых членов геометрической прогрессии C++
Использование рекурсивной функции для нахождения суммы C++

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

Или воспользуйтесь поиском по форуму:
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
21.01.2013, 06:45     Функция для нахождения суммы факториалов #15
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
бесполезными рассуждениями, что называть прототипом функции.
Тут рассуждать нечего, все уже давно разжевано и описано в книгах, в которых есть точное определение, что такое прототип. Я лишь это хотел донести.
Yandex
Объявления
21.01.2013, 06:45     Функция для нахождения суммы факториалов
Ответ Создать тему
Опции темы

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