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

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

Войти
Регистрация
Восстановить пароль
 
Blood_zack
0 / 0 / 0
Регистрация: 25.09.2013
Сообщений: 22
#1

вычисления факториала - C++

26.09.2013, 09:07. Просмотров 487. Ответов 6
Метки нет (Все метки)

Составить программу для вычисления факториала числа. Найдите факториалы 4, 7, 10.
В С++
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.09.2013, 09:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос вычисления факториала (C++):

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

Функция вычисления факториала - C++
#include "stdafx.h" #include <iostream> #include <conio.h> #include <math.h> #include <iomanip> using namespace std; int main()...

Нерекурсионное вычисления факториала - C++
кто знает как без рекурсии записать факториал числа N, подскажите, заранее благодарю.

Функции для вычисления факториала - C++
Составить программу для вычисления факториала числа. Найдите факториали 4, 7, 10.

Рекурсивная функция вычисления факториала - C++
В коде #include "stdafx.h" #include <iostream> #include "fact.h" int main() { using namespace std; cout<<"Enter the...

Программа для вычисления факториала - C++
Зравствуйте, помогите, пожалуйста, написать программу, которая вычисляет факториал введенного с клавиатуры положительного числа. Программа...

6
scenotaph
120 / 120 / 15
Регистрация: 29.03.2013
Сообщений: 237
26.09.2013, 09:25 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream> 
  using namespace std; 
 
int main() {
    setlocale(0,"");
    int n;
    int fakt=1;
    cout <<"Введите число: ";
    cin>>n;
    if (n < 0) {
        cout<<"Error";
        system("pause");
        return 0;
    }
    if (n == 0) {
        cout<<fakt;
        system("pause");
        return 0;
    }
    if (n>0) {
        for (int i=1; i<=n; i++){
            fakt*=i;
        }
    }
    cout<<fakt;
    system("pause");
    return 0;
}
1
Ev[G]eN
iOS/Android Developer
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
26.09.2013, 10:42 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
int factorial(unsigned);
 
int main()
{
    for (size_t i = 4; i <= 10; i += 3)
        std::cout << i << "!: " << factorial(i) << std::endl;
 
    return 0;
}
 
int factorial(unsigned userNumber)
{
    if (!userNumber || userNumber == 1) {
        return 1;
    } else {
        return userNumber * factorial(userNumber - 1);
    }
}
0
CheshireCat
Эксперт С++
2893 / 1242 / 78
Регистрация: 27.05.2008
Сообщений: 3,389
26.09.2013, 10:55 #4
Ну вот еще в копилку:
C++
1
2
3
4
5
6
7
8
unsigned long factorial(unsigned long i)
{
    const unsigned long values[] = { 1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880, 3628800, 39916800, 479001600ULL};
    if (i < sizeof(values)/sizeof(values[0]))
        return values[i];
        
    throw std::out_of_range("Can't calculate factorial");
}
1
StepaPair
2 / 2 / 1
Регистрация: 24.09.2013
Сообщений: 19
26.09.2013, 11:18 #5
scenotaph

int fakt=1;

if (n == 0) {
cout<<fakt;
system("pause");
return 0;
}

В таком случае,для числа 0 факториал будет равен единице ( что, как мне кажется, не верно)
0
CheshireCat
Эксперт С++
2893 / 1242 / 78
Регистрация: 27.05.2008
Сообщений: 3,389
26.09.2013, 11:27 #6
Верно. 0! равен 1 по определению.
0
Croessmah
Эксперт CЭксперт С++
13509 / 7667 / 866
Регистрация: 27.09.2012
Сообщений: 18,864
Записей в блоге: 3
Завершенные тесты: 1
26.09.2013, 11:58 #7
Для разнообразия:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
template < size_t num >
struct Factorial {
   enum {
      value = num * Factorial < num - 1 > :: value
   } ;
} ;
 
template <>
struct Factorial<0> {
   enum {
      value = 1
   } ;
} ;
 
int main() {
   std :: cout << Factorial < 4 > :: value << std :: endl ;
   std :: cout << Factorial < 7 > :: value << std :: endl ;
   std :: cout << Factorial < 10 > :: value << std :: endl ;
}
0
26.09.2013, 11:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.09.2013, 11:58
Привет! Вот еще темы с ответами:

Рекурсивная процедура вычисления факториала - C++
Обязательно все через рекурсии надо сделать!! Помогите студенту сдать зачет

Функция для вычисления факториала - C++
определить функцию вычисления факториала числа. Рассчитать с помощью нее: 2x5! + 3x9! \ 7! +10! помогите пожалуйста с программой в С++ ...

Рекурсивная функция вычисления факториала - C++
Напишите рекурсивную функцию int factorial(int n), которая считает факториал. примеры 1)5 120 2)0 1 3)2 2

Написать программу вычисления факториала - C++
1. Для заданного натурального числа n написать программу вычисления его факториала: n! = 1*2* … *n 2. Задано целое чётное число n....


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

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

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