Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 23.01.2014
Сообщений: 35

Найти значание выражения(двойной факториал)

06.11.2015, 17:28. Показов 1817. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Найти значение выражения . (Определить функцию для расчета двойного факториала натурального числа следующим образом: n!!=1*3*5*…*n, если n – нечетно, и n!!=2*4*6*…n, если n - четно).
Написал прогу, но она зацикливается, не могу понять почему, посмотрите пожалуйста.
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 "stdafx.h"
#include <iostream>
using namespace std;
 
double fact(int g)
{
    int number = 1;
    if (g % 2 == 0)
    {for (int i = 2; i <= g; i + 2)
            number = number*i;
        }
    else 
    {
        for (int i = 1; i <= g; i + 2)
            number = number*i;
    }
        return number;
}
int main()
{
    int n, m, h, j;
    cin>>n>> m>> h>> j;
    double count;
    cout << fact(n)<<" " << fact(m) << " " << fact(h) << " " << fact(j)<<endl;
    count = (2 * fact(n) + 3 * fact(m)) / (fact(h) + fact(j));
    cout<< count<< endl;
    return 0;
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.11.2015, 17:28
Ответы с готовыми решениями:

Найти двойной факториал
Дано натуральное число n необходимо найти n!! (двойной факториал) n!! = 1*3*5*..*n, если n - нечётн. 2*4*6*..*n, если n - чётное

Дано целое число N (> 0). Найти двойной факториал N:
Всем Доброго дня!!!!!! 1. Дано целое число N (&gt; 0). Найти двойной факториал N: N!! = N•(N–2)•(N–4)•… (последний сомножитель равен...

Описать рекурсивные функции вещественного типа, вычисляющие факториал и двойной факториал заданного числа
Описать рекурсивные функции Fact(N) и Fact2(N) вещественного типа, вычисляющие значения факториала N! и двойного факториала N!!...

7
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
06.11.2015, 17:32
Цитата Сообщение от farrodey Посмотреть сообщение
C++
1
2
3
double fact(int g)
{
    int number = 1;
Как же так? Зачем делать на возврат double, если больше int'а значение никогда не будет?
0
0 / 0 / 0
Регистрация: 23.01.2014
Сообщений: 35
06.11.2015, 17:35  [ТС]
я как понимаю, факториал будет int'ом,а потом в самом выражении уже будет значение double,вот и возвращаю number int'ом

Добавлено через 37 секунд
а все,понял где тупану, но если поменять там на int, ничего не изменится в принципе
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
06.11.2015, 17:37
Лучший ответ Сообщение было отмечено farrodey как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
unsigned long long fact(unsigned g)
{
    unsigned long long number = 1ULL;
    unsigned i = 1;
    
    if (g % 2 == 0) i += 1;
   
    for (; i <= g; i += 2)
        number *= i;
    
    return number;
}
Добавлено через 44 секунды
Цитата Сообщение от farrodey Посмотреть сообщение
а все,понял где тупану
Цитата Сообщение от farrodey Посмотреть сообщение
C++
1
i + 2
здесь
1
0 / 0 / 0
Регистрация: 23.01.2014
Сообщений: 35
06.11.2015, 17:41  [ТС]
Kerry_Jr, спасибо тебе добрый человек, все отлично работает))
Есть только один вопрос, в number =1ULL; 1ULL это что, не совсем понимаю,1 понятно, а ULL нет
0
 Аватар для MicM
840 / 498 / 325
Регистрация: 29.12.2009
Сообщений: 1,106
06.11.2015, 17:43
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
unsigned long long F (int n)
{
        unsigned long long result = n % 2 ? 1 : 2;
        for (int i = result + 2; i <= n; i += 2) result *= i;
        return result;
}
 
int main()
{
        int n;
        std::cin >> n;
        std::cout << F(n) << std::endl;
}
1
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
06.11.2015, 17:49
Цитата Сообщение от farrodey Посмотреть сообщение
а ULL нет
суффикс типа unsigned long long, можно не указывать - не критично.
1
0 / 0 / 0
Регистрация: 23.01.2014
Сообщений: 35
06.11.2015, 17:50  [ТС]
Kerry_Jr, теперь полностью понял, спасибо большое
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.11.2015, 17:50
Помогаю со студенческими работами здесь

Дано целое число N (> 0). Найти двойной факториал N: (через while)
Дано целое число N (&gt; 0). Найти двойной факториал N: N!! = N·(N-2)·(N-4)·... (последний сомножитель равен 2, если N - четное, и 1, если...

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

(2n+1)! ( Двойной факториал)
(2n-1)!! (двойной факториал) делать с помощью while

Двойной факториал
Дано целое число N (&gt; 0). Найти двойной факториал N: N!! = N·(N–2)·(N–4)·… (последний сомножитель равен 2, если N — четное, и 1, если N...

Двойной факториал
Здравствуйте, Товарищи. Поискал на форуме подобную задачку, увы, не нашел. Помогите составить программу (у меня КодБлокс) которая будет...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru