Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
DegestMaster
0 / 0 / 0
Регистрация: 11.10.2016
Сообщений: 34
#1

Напишите программу, которая вычисляет факториал числа - C++

18.10.2016, 17:12. Просмотров 513. Ответов 7
Метки нет (Все метки)

Напишите программу, которая вычисляет факториал числа п. N должен быть введен с клавиатуры.
Программа должна вывести также "малый", если факторный менее 100 и "большой" в противном случае.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
long double fact(int N)
{
    if (N < 0)
        return 0;
    if (N == 0)
        return 1;
    else
        return N * fact(N - 1);
}
 
int main()
{
    int N;
    setlocale(0, "");
    cout << "Введiть число для вичисленя факторiалу: "<< endl;
    cin >> N;
    cout << "Факторiал для числа " << N << " = " << fact(N) << endl << endl;
    system("pause");
    return 0;
}
Добавлено через 52 секунды
Етот код я кинул чтобы показать на каком я етапе, помогите доработать пж.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2016, 17:12
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Напишите программу, которая вычисляет факториал числа (C++):

Напишите функцию, которая вычисляет факториал для заданного натурального числа
аголовок функции должен быть следующим: int factorial(int n); Напишите...

. Составить программу, которая вычисляет факториал числа n, введенного с клавиатуры
Есть такая задача: которая находит сумму чисел от 1 до n, где n – вводится с...

Напишите программу, которая вычисляет квадрат любого, введенного числа
Всем привет! Народ помогите с задачкой, нужно сделать в Microsoft Visual...

Напишите программу, которая вычисляет сумму цифр целого числа.
Напишите программу, которая вычисляет сумму цифр целого числа. Например, суммой...

Разработать программу, которая вычисляет факториал и состоит из функций
я ее сделал но меня есть вопрос: 1. я сделал массив из ста элементов, а можно...

Написать программу, которая вычисляет факториал неотрицательных целых чисел n
//3. Дано натуральное число n. Написать программу, которая вычисляет факториал...

7
DegestMaster
0 / 0 / 0
Регистрация: 11.10.2016
Сообщений: 34
21.10.2016, 16:42  [ТС] #2
0
TheTangro
1 / 1 / 3
Регистрация: 24.09.2015
Сообщений: 93
21.10.2016, 18:02 #3
Если мне не изменяет память, факториал определен только для натуральных чисел. Факториал - дискретная функция
0
ihe
2 / 2 / 2
Регистрация: 08.10.2016
Сообщений: 9
21.10.2016, 18:30 #4
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
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
#include <clocale>
using namespace std;
int fact(int N) 
{
    int result = 1;
    for (int i = 1; i <= N; i++)
    {
        result *= i;
    }
    return result;
}
int main()
{
    setlocale(LC_ALL, "");
    int N;
    cout << "Введите число для вычисления факториала: " << endl;
    cin >> N;
    if (N == 0) {
        cout << "N = 0" << endl;
        system("pause");
    }else if (N < 0) {
        cout << "N < 0" << endl;
        system("pause");
    }
    else {
        cout << "Факториал для числа " << N << " = " << fact(N) << endl;
        if (fact(N) < 100) 
        {
            cout << "Малый" << endl;
        }
        else
        {
            cout << "Большой" << endl;
        }
        system("pause");
        return 0;
    }
}
0
DegestMaster
0 / 0 / 0
Регистрация: 11.10.2016
Сообщений: 34
21.10.2016, 19:07  [ТС] #5
ООоооо... Щя проверю))

Добавлено через 5 минут
Ошыбка(( Не работает, уже както стараюсь исправить, гляньте еще вы как у вас там!

Добавлено через 3 минуты
18 ошыбок и 2 предуприждения, я добавил еще 1 библиотеку и нечего(

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include "iostream"
#include "clocale"
#include "stdafx.h"
 
using namespace std;
 
int fact(int N)
{
    int result = 1;
    for (int i = 1; i <= N; i++)
    {
        result *= i;
    }
    return result;
}
int main()
{
    setlocale(LC_ALL, "Russian");
    int N;
    cout << "Введите число для вычисления факториала: " << endl;
    cin >> N;
    if (N == 0) {
        cout << "N = 0" << endl;
        system("pause");
    }
    else if (N < 0) {
        cout << "N < 0" << endl;
        system("pause");
    }
    
    else {
        cout << "Факториал для числа " << N << " = " << fact(N) << endl;
        if (fact(N) < 100)
        {
            cout << "Малый" << endl;
        }
        else
        {
            cout << "Большой" << endl;
        }
        system("pause");
        return 0;
    }
}
Добавлено через 12 минут
Кароч, я хз что я зделал та и с доработал, но все просто супер, только добавте std библеотеку, спс!!!
0
GbaLog-
Любитель чаепитий
3156 / 1462 / 462
Регистрация: 24.08.2014
Сообщений: 5,177
Записей в блоге: 1
Завершенные тесты: 2
21.10.2016, 19:08 #6

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
29
30
31
32
33
34
35
/////////////////////////////////////////////////////////////////////
#include <iostream>
#include <boost/multiprecision/cpp_int.hpp>
/////////////////////////////////////////////////////////////////////
using boost::multiprecision::cpp_int;
/////////////////////////////////////////////////////////////////////
cpp_int factorial( cpp_int n )
{
    if( n != cpp_int( 0 ) )
    {
        return n * factorial( n - 1 );
    }
    else
    {
        return 1;
    }
    return 0;
}
/////////////////////////////////////////////////////////////////////
int main()
{
    cpp_int n{};
    
    std::cin >> n;
    
    if( n < cpp_int( 100 ) )
    {
        std::cout << "low :(" << std::endl;
    }
    else
    {
        std::cout << "normal :)" << std::endl;
    }
    std::cout << factorial( n ) << std::endl;
}
http://rextester.com/ANTV11986
0
DegestMaster
0 / 0 / 0
Регистрация: 11.10.2016
Сообщений: 34
21.10.2016, 19:12  [ТС] #7
Спасибо))
0
SpBerkut
Объявлятель переменных
948 / 274 / 275
Регистрация: 24.09.2011
Сообщений: 1,008
Завершенные тесты: 2
21.10.2016, 19:14 #8
Да вы прикалываетесь?
C++
1
2
3
double fact(const unsigned x) {
    return x<2?1.0:x*fact(x-1);
}
0
21.10.2016, 19:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2016, 19:14
Привет! Вот еще темы с решениями:

Напишите программу, которая вычисляет длину введенной с клавиатуры строки
Напишите программу, которая вычисляет длину введенной с клавиатуры строки.

Напишите программу, которая по заданной входной последовательности вычисляет ее медиану
Кароче такое задание: Напишите программу, которая по заданной входной...

Напишите программу, которая вычисляет выражение, состоящее из чисел, знаков (допускаются знаки «+», «–», «*» и
Напишите программу, которая вычисляет выражение, состоящее из чисел, знаков...

Напишите программу, которая вычисляет среднее арифметическое чисел, находящихся в файле D:\numbers.txt
Напишите программу, которая вычисляет среднее арифметическое чисел, находящихся...


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

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

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