кодесурса
«Python

Python Math: nth каталонский номер

script1adsense2code
script1adsense3code

Python Math: упражнение 25 с решением

Напишите программу на Python для n-го каталонского номера.

В комбинаторной математике каталонские числа образуют последовательность натуральных чисел, которые встречаются в различных задачах счета, часто с участием рекурсивно определенных объектов. Они названы в честь бельгийского математика Эжена Шарля Каталана (1814–1894).

Используя нумерацию с нуля, n-е каталонское число дается непосредственно в терминах биномиальных коэффициентов как

«Каталонский

Первые каталонские числа для n = 0, 1, 2, 3,… являются
1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, ....

Иллюстрированная презентация

C5 = 42 непересекающихся раздела из 5-элементного набора (ниже, остальные 10 из 52 разделов)

«Каталонский

Кредиты изображений: Watchduck

Пример решения : -

Код Python:

def catalan_number(num):
    if num <=1:
         return 1
   
    res_num = 0
    for i in range(num):
        res_num += catalan_number(i) * catalan_number(num-i-1)
    return res_num
 
for n in range(10):
    print(catalan_number(n))
	

Пример вывода:

 1                                                                                                             
1                                                                                                             
2                                                                                                             
5                                                                                                             
14                                                                                                            
42                                                                                                            
132                                                                                                           
429                                                                                                           
1430                                                                                                          
4862 

Блок - схема:

«Блок-схема:

Визуализируйте выполнение кода Python:

Следующий инструмент визуализирует, что компьютер делает шаг за шагом при выполнении указанной программы:

Редактор кода Python:

Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.

Предыдущий: Напишите программу на Python для генерации всех перестановок списка в Python.
Далее: Написать программу на Python для вывода числа с запятыми в виде разделителей тысяч (с правой стороны)?

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code