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

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

Войти
Регистрация
Восстановить пароль
 
azimjon-9595
-4 / 0 / 0
Регистрация: 03.01.2016
Сообщений: 5
#1

Нахождение двойного факториала заданного числа N - C++

03.01.2016, 20:16. Просмотров 341. Ответов 3
Метки нет (Все метки)

Дано целое число N (> 0). Найти двойной факториал N:
N!! = N·(N–2)·(N–4)·…
(последний сомножитель равен 2, если N — четное, и 1, если N —
нечетное). Чтобы избежать целочисленного переполнения, вычислять это
произведение с помощью вещественной переменной и вывести его как
вещественное число.

Добавлено через 17 минут
решите
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.01.2016, 20:16     Нахождение двойного факториала заданного числа N
Посмотрите здесь:
C++ Написать программу для вычисления двойного факториала числа
Описать рекурсивные функции вычисляющие значения факториала и двойного факториала C++
Нахождение факториала: для заданного N найти последнюю отличную от нуля цифру C++
C++ C++ нахождение факториала числа n с вводом из файла
Вычисление двойного факториала C++
C++ Вычислить факториала заданного числа используя do или while
C++ Описать рекурсивную функцию, вычисляющую значение двойного факториала
C++ Нахождение суммы цифр заданного трехзначного числа
Нахождение цифрового корня заданного числа (оптимизировать код) C++
Нахождение пар чисел равныхпроизведению заданного числа( одномерный массив) C++
Нахождение факториала C++
C++ нахождение факториала

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6280 / 5883 / 1904
Регистрация: 18.12.2011
Сообщений: 15,082
Завершенные тесты: 1
03.01.2016, 20:48     Нахождение двойного факториала заданного числа N #2
C++
1
2
3
4
5
6
7
8
9
int fact2(int n)
{
    if(n < 0) // если пользователь ввел отрицательное число
        return 0; // возвращаем ноль
    if (n <= 1) // если пользователь ввел ноль,
        return 1; // возвращаем факториал от нуля
    // Во всех остальных случаях
    return n * fact(n - 2); // делаем рекурсию.
}
Источник
C++ нахождение факториала числа n с вводом из файла
Байт
Эксперт C
15635 / 9977 / 1499
Регистрация: 24.12.2010
Сообщений: 18,726
03.01.2016, 20:53     Нахождение двойного факториала заданного числа N #3
Цитата Сообщение от azimjon-9595 Посмотреть сообщение
Чтобы избежать целочисленного переполнения, вычислять это
произведение с помощью вещественной переменной и вывести его как
вещественное число.
C++
1
2
3
4
5
6
7
8
9
double fact2(int n)
{
    if(n < 0) // если пользователь ввел отрицательное число
        return 0; // возвращаем ноль
    if (n <= 1) 
        return 1; 
    // Во всех остальных случаях
    return n * fact(n - 2); // делаем рекурсию.
}
SergioO
93 / 182 / 63
Регистрация: 13.12.2015
Сообщений: 986
03.01.2016, 21:27     Нахождение двойного факториала заданного числа N #4
даже при N=100, N!! =100!! = (1*2*3*...*99*100)!, тк 10*20*...*90*100 уже даст 11 нулей в конец числа ), а это 1 00 000 000 000 и это малая часть числа, а 100 000 000 000! сто миллиардов факториал - дохринилиард. только перемножать блоками и писать в файл - никакого стандартного типа не хватит.
Yandex
Объявления
03.01.2016, 21:27     Нахождение двойного факториала заданного числа N
Ответ Создать тему
Опции темы

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