В сфере математики немногие константы обладают таким же очарованием и интригой, как π (пи). Это иррациональное число, примерно равное 3,14159, представляет собой отношение длины окружности к ее диаметру. Вычисление значения π было задачей математиков на протяжении всей истории, что привело к разработке множества методов и алгоритмов. В этой статье блога мы окунемся в захватывающий мир числа π и рассмотрим различные методы расчета его значения.
Метод 1: метод Архимеда
Давайте начнем с классического метода, предложенного греческим математиком Архимедом. Он вписал и описал правильный многоугольник внутри и снаружи круга соответственно и вычислил их периметры. Увеличивая число сторон многоугольника, он получил верхнюю и нижнюю границы значения π. Вы можете реализовать этот метод в коде, итеративно вычисляя периметры многоугольников и уточняя границы до тех пор, пока не будет достигнута желаемая точность.
import math
def archimedes_method(iterations):
sides = 6 # initial number of sides
perimeter_inscribed = 2
perimeter_circumscribed = math.sqrt(3) * 2
for _ in range(iterations):
sides *= 2
perimeter_inscribed = 2 * math.sqrt(2 - math.sqrt(4 - perimeter_inscribed2))
perimeter_circumscribed = 2 * (perimeter_inscribed * math.sqrt(2 + perimeter_circumscribed) / (perimeter_inscribed + perimeter_circumscribed))
return (perimeter_inscribed + perimeter_circumscribed) / 2
# Usage:
pi_approximation = archimedes_method(10)
print(pi_approximation)
Метод 2: моделирование Монте-Карло
Метод Монте-Карло — это вероятностный метод, который аппроксимирует π с использованием случайной выборки. Создав большое количество точек внутри квадрата и определив соотношение точек, попадающих внутрь четверти круга, вписанной в квадрат, мы можем оценить значение π.
import random
def monte_carlo_pi(iterations):
points_inside_circle = 0
total_points = 0
for _ in range(iterations):
x = random.uniform(-1, 1)
y = random.uniform(-1, 1)
if x2 + y2 <= 1:
points_inside_circle += 1
total_points += 1
return 4 * points_inside_circle / total_points
# Usage:
pi_approximation = monte_carlo_pi(1000000)
print(pi_approximation)
Метод 3: бесконечные ряды
Существует множество бесконечных рядов, сходящихся к значению π. Одной из самых известных является формула Лейбница, в которой для приближения π/4 используются чередующиеся знаки.
def leibniz_formula(iterations):
result = 0
for i in range(iterations):
term = (-1)i / (2 * i + 1)
result += term
return 4 * result
# Usage:
pi_approximation = leibniz_formula(1000000)
print(pi_approximation)
Вычисление значения π увлекало математиков на протяжении веков. В этой статье мы исследовали три метода: метод Архимеда, моделирование Монте-Карло и формулу Лейбница. Эти методы демонстрируют разнообразные подходы, используемые для аппроксимации числа π, демонстрируя богатство и красоту математики. Независимо от того, являетесь ли вы математиком, программистом или просто человеком, интересующимся чудесами Вселенной, поиск числа π открывает бесконечные возможности для исследований.