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

Двойной факториал - C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 33, средняя оценка - 4.94
AlexOk
0 / 0 / 0
Регистрация: 30.05.2010
Сообщений: 33
21.10.2010, 09:10     Двойной факториал #1
Здравствуйте, Товарищи.
Поискал на форуме подобную задачку, увы, не нашел.
Помогите составить программу (у меня КодБлокс) которая будет вычислять двойной интеграл.
т.е.
Двойной факториал числа n обозначается n!! и определяется как произведение всех натуральных чисел в отрезке [1,n], имеющих ту же чётность что и n. Таким образом,
(2k)!!=2*4*6*8*...*2k
(2k+1)!!=1*3*5*7*...(2k+1)
P.S. В институте пишем программы в стд библиотеке <stdio.h>
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2010, 09:10     Двойной факториал
Посмотрите здесь:

Двойной интеграл C++
Дано целое число N (> 0). Найти двойной факториал N: C++
C++ Двойной факториал
двойной интеграл в С++ C++
C++ Написать функцию, которая возвращает «двойной» факториал введенного числа
Двойной факториал VS рекурсия C++
Как использовать двойной факториал в С++ с использованием только if и for? C++
Двойной указатель C++
C++ Двойной оператор
Написать рекурсивную функцию, которая высчитывает двойной факториал C++
Найти значание выражения(двойной факториал) C++
C++ Программа, вычисляющая двойной факториал числа

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
21.10.2010, 09:32     Двойной факториал #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
(5)!! = 1*3*5

(8)!! = 2*4*6*8

Правильно понял?

Добавлено через 14 минут
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
#include <iostream>
 
using namespace std;
 
int fact(int n)
{
    int f=1;
    if(n%2==0)
    {
       for(int i=2; i<=n; i+=2)
       {
           f*=i;
       }
    }
    else
    {
        for(int i=1; i<=n; i+=2)
       {
           f*=i;
       }
    }
    return f;
}
int main()
{
 
long n;
cout<<"Enter n: ";
cin>>n;
cout<<"("<<n<<")!!="<<fact(n)<<endl;
system("pause");
return 0;
}
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.10.2010, 09:41     Двойной факториал #3
Можно через рекурсию:
C++
1
2
3
4
5
6
7
8
9
10
11
int doublefactorial(int x)
{
 if (x<3)
 {
  return x;
 }
 else
 {
  return x*doublefactorial(x-2);
 }
}
AlexOk
0 / 0 / 0
Регистрация: 30.05.2010
Сообщений: 33
21.10.2010, 14:42  [ТС]     Двойной факториал #4
MILAN, все верно, именно так.
Спасибо за помощь
Yandex
Объявления
21.10.2010, 14:42     Двойной факториал
Ответ Создать тему
Опции темы

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