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

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

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

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

03.01.2016, 20:16. Просмотров 283. Ответов 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++
C++ Описать рекурсивную функцию, вычисляющую значение двойного факториала
C++ нахождение факториала
Нахождение факториала: для заданного N найти последнюю отличную от нуля цифру C++
Нахождение факториала C++
C++ Нахождение заданного числа в последовательно (или близкого к нему) путём сложения чисел в заданной последовательности
C++ C++ нахождение факториала числа n с вводом из файла
Циклическое нахождение факториала C++
Вычисление двойного факториала C++
C++ Написать программу для вычисления двойного факториала числа
C++ Вычислить факториала заданного числа используя do или while

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
6114 / 5717 / 1849
Регистрация: 18.12.2011
Сообщений: 14,608
Завершенные тесты: 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
 Аватар для Байт
15045 / 9447 / 1383
Регистрация: 24.12.2010
Сообщений: 17,487
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
 Аватар для 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
Ответ Создать тему
Опции темы

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