Анонимный участник
Язык Си в примерах/Треугольник Паскаля: различия между версиями
нет описания правки
Ashikbot (обсуждение | вклад) м (Категоризация по запросу на w:ВП:РДБ) |
Нет описания правки |
||
Рассмотрим следующую таблицу:
[[
То, что нарисовано справа, называется ''треугольником Паскаля''
Число номер <math>k+1</math> в
Например,
<math>C_3^0 = 1, \quad C_5^2 = 10, \quad C_4^2 = 6.\,\!</math>
Стороны
<math>C^{k+1}_{n+1} = C^{k+1}_{n}+C^k_{n}.</math>
Эти числа возникают в задаче о числе сочетаний: <math>C_n^k\,\!</math> —
Рассмотрим две программы, которые решают следующие задачи:
# Запрограммировать функцию
# Вывести на экран
</source>
* Сколько раз вызовется функция
* Докажите, что время вычисления <math>C_n^k\,\!</math> по приведенному алгоритму пропорционально <math>C_n^k\,\!</math>.
* Оцените ассимптотику <math>C_n^{n/2}\,\!</math>, а именно, напишите программу, которая вычисляет <math>\log C_n^{n/2}\,\!</math> для <math>n = 2, 4, ... , 40</math> и
<math>\log C_n^{n/2}\,\!</math> от <math>n</math>.
</source>
* Докажите, что указанный алгоритм вычисления
работает быстрее, чем алгоритм вычисления <math>C_n^k\,\!</math> из предыдущей программы, а именно
время работы пропорционально <math>n^2\,\!</math>.
* Начиная с какого
[[Категория:Язык Си в примерах|Треугольник Паскаля]]
|