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

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

Войти
Регистрация
Восстановить пароль
 
DmitryM5
Love~
51 / 51 / 3
Регистрация: 27.08.2013
Сообщений: 805
Записей в блоге: 1
#1

Числа Каталана,можно ли проще? - C++

13.09.2013, 19:52. Просмотров 722. Ответов 2
Метки нет (Все метки)

Задание :Числа Каталана Cn, которые играют большую роль в комбинаторике (например, Cn равно числу полных бинарных деревьев с n+1 листьями), могут быть вычислены по формуле:
Cn = (2n)! / ((n+1)! n!)
Создайте функцию, реализующую соответствующее вычисление.
Указание: использовать рекурсию запрещено.

Так как я только неделю в C++,но все же мне кажется 3 цикла for полный бред,просьба упростить алгоритм если можно...

Мой код:
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
#include <iostream>
#include <locale>
 
using namespace std;
 
 
double katalan(int N) {
    double V=1,N1=1,N2=1;
    for (int i=1;i<=2*N;i++) 
        V*=i;
    for (int i=1;i<=N+1;i++) 
        N1*=i;
    for (int i=1;i<=N;i++) 
        N2*=i;
 
    return V/(N1*N2) ;
}
 
int main() {
    std::locale::global(std::locale(""));
    int N;
    cout<<"Введите целое N "<<endl;
    cin>>N;
    cout<<"Число Каталана под номером N  = "<<katalan(N)<<endl;
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.09.2013, 19:52     Числа Каталана,можно ли проще?
Посмотрите здесь:

Числа Каталана - C++
Числами Каталана Сn(n=0,1,2,...) называються числа 1,1,2,5,14,42,132,429,... Числа Каталана являються решением рекуррентного уравнения ...

Для заданного числа n составить последовательность Каталана - C++
Для заданного числа n составить последовательность Каталана, каждое число которого начиная с третьего вычисляется по формуле...

можно написать ее как то проще ? - C++
#include &lt;stdio.h&gt; #include &lt;locale.h&gt; #include &lt;string&gt; #include &lt;conio.h&gt; int main() { setlocale(LC_CTYPE, &quot;rus&quot;); ...

Можно ли это написать как то проще - C++
#include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;math.h&gt; using namespace std; /* В одномерном...

нужно решить как можно проще - C++
в текстовом файле подсчитать количество строк, которые начинаются и оканчиваются одной и той же буквой

Сочините пример как можно проще на сдвиг - C++
Сочините пример как можно проще на сдвиг. Сам пользоваться умею, не могу только придумать новичковую задачу на эти операторы и как их...

Оператор switch, можно ли сделать код проще? - C++
Дана задача посчитать гласные в тексте введенном с клавиатуры, вопрос ниже... #include &lt;iostream&gt; #include &lt;string&gt; #include...

Поиск количества слов строке(как можно проще) - C++
Здравствуйте.Я недавно начал изучать с++ и столкнулся с проблемой. Нужно написать программу поиска количества слов строке, но как можно...

Обработка параметров командной строки. Можно ли ещё проще? - C++
Всем доброго дня) Экспериментировал с параметрами командной строки, хочу сделать так, чтобы в зависимости от установленных параметров,...

Как можно сделать данный кусок кода меньше и проще? - C++
Задние: Заменить все элементы с четными номерами на значение второго положительного элемента массива. void change() //замена элементов...

Нужно вычислить факториал 33, 100 и 1000 как можно проще - C++
Нужно вычислить фактариал 33, 100 и 1000 как можно проще

Нужно написать программку по заданию, используя функции, как можно проще - C++
Дан интервал натуральных чисел . Напечатать на экране все те числа, которые принадлежат этому интервалу и которые можно выразить как сумму...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Cynacyn
33 / 33 / 0
Регистрация: 02.05.2013
Сообщений: 109
13.09.2013, 20:00     Числа Каталана,можно ли проще? #2
Напишите функцию итеративно вычисляющую факториал.
C++
1
2
3
double katalan(int N) {
return fact(2*n)/(fact(n+1)*fact(n));
};
salam
160 / 141 / 12
Регистрация: 10.07.2012
Сообщений: 720
13.09.2013, 20:52     Числа Каталана,можно ли проще? #3
где-то слышал, что можно пользоваться математикой, чтобы упрощать вычисления...

Добавлено через 3 минуты
вам достаточно посчитать только факториал 2п, сохранив в массив. Можно без массива. Два числа только пригодятся.
Yandex
Объявления
13.09.2013, 20:52     Числа Каталана,можно ли проще?
Ответ Создать тему
Опции темы

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