Напишите программу для печати треугольника Паскаля на Python.
Задача: Напишите программу для печати треугольника Паскаля с заданным количеством строк.
Например: количество строк равно 5, тогда треугольник Паскаля будет напечатан следующим образом:
Вход: n = 5 Выход: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1
Треугольник Паскаля также часто используется крупными компаниями при наборе программистов. В этой статье TipsMake.com вместе с вами узнают, как написать программу для печати треугольника Паскаля на Python.
Метод 1: Используйте формулу nCr, т.е. n!/(nr)!r!
После использования формулы nCr графическое представление становится следующим:
0C0 1C0 1C1 2C0 2C1 2C2 3C0 3C1 3C2 3C3
Алгоритм:
- Получите количество строк для печати, допустим, это n.
- Выполните внешнюю итерацию i от 0 до n раз, чтобы напечатать строки.
- Выполните внутреннюю итерацию для j от 0 до (N-1).
- Печатайте пробел “”.
- Закрыть внутренний цикл (j-цикл) // требуется для левого интервала.
- Выполните внутреннюю итерацию для j от 0 до i.
- Выведите nCr чисел i и j.
- Закройте внутреннюю петлю.
- Печатать символ новой строки (n) после каждой внутренней итерации.
Вот пример кода:
# Напечатать треугольник Паскаля в Python из математического импортного факториала # input nn = 5 для i в диапазоне (n): для j в диапазоне (n-i+1): # для интервала слева print(end=” “) для j в диапазоне (i+1): # nCr = n!/((nr)!*r!) print(factorial(i)//(factorial(j)*factorial(ij)), end=” “) # для новой строки Распечатать()
Способ 2:
Мы можем оптимизировать приведенный выше код, используя следующую концепцию биномиального коэффициента: i-й элемент в строке — это биномиальный коэффициент C(строка, i), и все строки начинаются со значения 1. Здесь мы должны реализовать идею вычисление C(строка, i) с использованием C(строка, i-1).
Пример кода выглядит следующим образом:
# Напечатать треугольник Паскаля в Python # input nn = 5 для i в диапазоне (1, n+1): для j в диапазоне (0, n-i+1): print(‘ ‘, end=”) # первый элемент всегда 1 C = 1 для j в диапазоне (1, i+1): # первое значение в строке всегда равно 1 print(‘ ‘, C, sep=”, end=”) # с использованием биномиального коэффициента C = C * (i – j) // j print()
Способ 3:
Это самый оптимальный способ печати треугольника Паскаля. Этот метод основан на степенях числа 11.
11**0 = 1 11**1 = 11 11**2 = 121 11**3 = 1331
Пример кода выглядит следующим образом:
# Напечатать треугольник Паскаля в Python # input nn = 5 # повторить до n для i в диапазоне (n): # настроить пробел print(‘ ‘*(ni), end=”) # вычислить мощность 11 print(‘ ‘. присоединиться (карта (ул, ул (11 ** я))))
Однако недостатком является то, что этот метод можно применять только до n=5.
TipsMake.com надеется, что эта статья будет вам полезна.