Обчислення числа π (формула Машіна)
1. Підключення бібліотек
#include <iostream>
#include <cmath>
#include <iomanip>
<iostream> — стандартна бібліотека вводу-виводу (std::cout, std::endl)
<cmath> — математичні функції (atan)
<iomanip> — форматування виводу (fixed, setprecision)
2. Головна функція
int main() {
main() — головна функція програми.
Саме з неї починається виконання.
int означає, що функція повертає ціле число (код завершення).
3. Обчислення числа π
double pi = 4 * (4 * atan(1.0/5.0) - atan(1.0/239.0));
Формула Машіна:
π / 4 = 4 arctan(1/5) − arctan(1/239)
π = 4 · (4 arctan(1/5) − arctan(1/239))
Чисельний розрахунок:
arctan(1/5) ≈ 0.1973955598
arctan(1/239) ≈ 0.0041840760
4A = 0.7895822392
4A − B = 0.7853981632
π ≈ 3.1415926536
1.0/5.0 використовується для ділення з плаваючою комою
(щоб не було цілочисельного ділення).
4. Як працює atan() всередині?
Функція обчислюється через ряд Тейлора:
arctan(x) = x − x³/3 + x⁵/5 − x⁷/7 + x⁹/9 − ...
Знаки чергуються: + − + − + −
Для малих x ряд сходиться дуже швидко, тому формула Машіна ефективна.
5. Форматування виводу
std::cout << std::fixed << std::setprecision(15);
std::fixed — звичайний десятковий формат
setprecision(15) — 15 знаків після коми
6. Вивід результату
std::cout << "Pi = " << pi << std::endl;
Pi = 3.141592653589793
std::endl — перехід на новий рядок + очищення буфера.
7. Завершення програми
return 0;
0 означає, що програма завершилась без помилок.
Коротке резюме
| Частина |
Що робить |
| #include |
Підключає бібліотеки |
| double pi |
Створює змінну |
| atan() |
Обчислює арктангенс |
| std::fixed |
Звичайний формат числа |
| setprecision(15) |
15 знаків після коми |
| return 0 |
Успішне завершення |