Как вычислить число пи c
Самый простой и легкий в реализации метод.
Рассмотрим произвольный квадрат с центром в начале координат и вписанный в него круг. Будем рассматривать только первую координатную четверть. В ней будет находиться четверть круга и четверть квадрата. Обозначим радиус круга r, тогда четверть квадрата тоже будет квадратом(очевидно) со стороной r.
Будем случайным образом выбирать точки в этом квадрате и считать количество точек, попавших в четверть круга. Благодаря теории вероятности мы знаем, что отношение попаданий в четверть круга к попаданиям ‘в молоко’ равно отношению площадей — пи/4. Вот, собственно, и весь алгоритм. Чем больше взятых наугад точек мы проверим, тем точнее будет отношение площадей.
Вот простенькая программа на Паскале, считающая пи этим способом. Четыре первых знака требуют на моем PentiumII-300 около 5 минут.
uses Crt; const n=10000000; r=46340; r2=46340*46340; var i,pass : LongInt; x,y : real; begin WriteLn('Поехали!'); Randomize; pass:=0; for i:=1 to n do begin x:=Random(r+1); y:=Random(r+1); if ( x*x+y*y < r2 ) then INC(pass); end; TextColor(GREEN); WriteLn('Число ПИ получилось равным: ',(pass/i*4):0:5); ReadLn; end.
Однако, как говорил Козьма Прутков, 'нельзя объять необъятное', что, в применении к данному случаю, можно перефразировать так: нельзя просуммировать бесконечное число слагаемых за конечное время, каким бы быстрым компьютером мы не располагали.
Слава Богу, этого и не требуется. Поскольку мы хотим найти не точное значение PI, а лишь его приближение с пятью верными десятичными знаками, нам достаточно просуммировать такое количество первых членов ряда, чтобы сумма всех оставшихся членов не превышала 10 -5 .
Остался, правда, открытым вопрос о том, сколько же все-таки членов ряда нужно просуммировать, чтобы получить результат с требуемой точностью?
Ответ на этот вопрос в 'общем виде' выходит далеко за рамки настоящего обсуждения. Это отдельная тема в курсах математического анализа и численных методов.
К счастью, данный конкретный ряд позволяет найти очень простое правило, позволяющее определить момент, когда следует прекратить суммирование. Дело в том, что ряд Грегори является знакопеременным и сходится равномерно (хотя и медленнее, чем хотелось бы). Это означает, что для любого нечетного n , сумма первых n членов ряда всегда дает верхнюю оценку для PI, а сумма n +1 первых членов ряда - нижнюю.
Значит, как только разница между верхней и нижней оценками окажется меньше, чем требуемая точность, можно смело прекращать вычисления и быть уверенным, что как та, так и другая оценки отличаются от истинного значения PI не более, чем на 10 -5 . В качестве окончательного результата разумно взять среднее значение между полученными верхней и нижней оценками. Таким образом, можно предложить алгоритм, приведенный ниже.
Положить n=0, S1 = 0 и S2 = 0; ( начальные установки ) Увеличить n на 1; ( n становится нечетным ) Вычислить S1 = S2 + 4/(2n-1); (S1 - есть верхняя оценка ) Увеличить n на 1; ( n становится четным ) Вычислить S2 = S1 - 4/(2n-1); (S2 - есть нижняя оценка) Если S1 - S2 >= 10^(-5) перейти к шагу 2; ( нужная точность еще не достигнута ) Напечатать результат (S1 + S2) / 2
При реализации этого алгоритма на машине следует помнить, что ряд Грегори сходится достаточно медленно, и поэтому n может принимать довольно большие значения.
Для вычисления сколько-нибудь большого количества знаков пи предыдущий способ уже не годится. Но существует большое количество последовательностей, сходящихся к Пи гораздо быстрее. Воспользуемся, например, формулой Гаусса:
| p | = 12arctan | 1 | + 8arctan | 1 | - 5arctan | 1 |
| 4 | 18 | 57 | 239 |
Доказательство этой формулы несложное, поэтому мы его опустим.
Исходник программы, включающий в себя 'длинную арифметику'
Программа вычисляет NbDigits первых цифр числа Пи. Функция вычисления arctan названа arccot, так как arctan(1/p) = arccot(p), но расчет происходит по формуле Тейлора именно для арктангенса, а именно arctan(x) = x - x 3 /3 + x 5 /5 - . x=1/p, значит arccot(x) = 1/p - 1 / p 3 / 3 + . Вычисления происходят рекурсивно: предыдущий элемент суммы делится и дает следующий.
/* ** Pascal Sebah : September 1999 ** ** Subject: ** ** A very easy program to compute Pi with many digits. ** No optimisations, no tricks, just a basic program to learn how ** to compute in multiprecision. ** ** Formulae: ** ** Pi/4 = arctan(1/2)+arctan(1/3) (Hutton 1) ** Pi/4 = 2*arctan(1/3)+arctan(1/7) (Hutton 2) ** Pi/4 = 4*arctan(1/5)-arctan(1/239) (Machin) ** Pi/4 = 12*arctan(1/18)+8*arctan(1/57)-5*arctan(1/239) (Gauss) ** ** with arctan(x) = x - x^3/3 + x^5/5 - . ** ** The Lehmer's measure is the sum of the inverse of the decimal ** logarithm of the pk in the arctan(1/pk). The more the measure ** is small, the more the formula is efficient. ** For example, with Machin's formula: ** ** E = 1/log10(5)+1/log10(239) = 1.852 ** ** Data: ** ** A big real (or multiprecision real) is defined in base B as: ** X = x(0) + x(1)/B^1 + . + x(n-1)/B^(n-1) ** where 0 Work with double instead of long and the base B can ** be choosen as 10^8 ** => During the iterations the numbers you add are smaller ** and smaller, take this in account in the +, *, / ** => In the division of y=x/d, you may precompute 1/d and ** avoid multiplications in the loop (only with doubles) ** => MaxDiv may be increased to more than 3000 with doubles ** => . */ #include #include #include #include long B=10000; /* Working base */ long LB=4; /* Log10(base) */ long MaxDiv=450; /* about sqrt(2^31/B) */ /* ** Set the big real x to the small integer Integer */ void SetToInteger (long n, long *x, long Integer) < long i; for (i=1; i/* ** Is the big real x equal to zero ? */ long IsZero (long n, long *x) < long i; for (i=0; i/* ** Addition of big reals : x += y ** Like school addition with carry management */ void Add (long n, long *x, long *y) < long carry=0, i; for (i=n-1; i>=0; i--) < x[i] += y[i]+carry; if (x[i]> > /* ** Substraction of big reals : x -= y ** Like school substraction with carry management ** x must be greater than y */ void Sub (long n, long *x, long *y) < long i; for (i=n-1; i>=0; i--) < x[i] -= y[i]; if (x[i]<0) < if (i) < x[i] += B; x[i-1]--; >> > > /* ** Multiplication of the big real x by the integer q ** x = x*q. ** Like school multiplication with carry management */ void Mul (long n, long *x, long q) < long carry=0, xi, i; for (i=n-1; i>=0; i--) < xi = x[i]*q; xi += carry; if (xi>=B) < carry = xi/B; xi -= (carry*B); >else carry = 0; x[i] = xi; > > /* ** Division of the big real x by the integer d ** The result is y=x/d. ** Like school division with carry management ** d is limited to MaxDiv*MaxDiv. */ void Div (long n, long *x, long d, long *y) < long carry=0, xi, q, i; for (i=0; i> /* ** Find the arc cotangent of the integer p (that is arctan (1/p)) ** Result in the big real x (size n) ** buf1 and buf2 are two buffers of size n */ void arccot (long p, long n, long *x, long *buf1, long *buf2) < long p2=p*p, k=3, sign=0; long *uk=buf1, *vk=buf2; SetToInteger (n, x, 0); SetToInteger (n, uk, 1); /* uk = 1/p */ Div (n, uk, p, uk); Add (n, x, uk); /* x = uk */ while (!IsZero(n, uk)) < if (p/* One step for small p */ else < Div (n, uk, p, uk); /* Two steps for large p (see division) */ Div (n, uk, p, uk); > /* uk = u(k-1)/(p^2) */ Div (n, uk, k, vk); /* vk = uk/k */ if (sign) Add (n, x, vk); /* x = x+vk */ else Sub (n, x, vk); /* x = x-vk */ k+=2; sign = 1-sign; > > /* ** Print the big real x */ void Print (long n, long *x) < long i; printf ("%d.", x[0]); for (i=1; iprintf ("\n"); > /* ** Computation of the constant Pi with arctan relations */ void main () < clock_t endclock, startclock; long NbDigits=10000, NbArctan; long p[10], m[10]; long size=1+NbDigits/LB, i; long *Pi = (long *)malloc(size*sizeof(long)); long *arctan = (long *)malloc(size*sizeof(long)); long *buffer1 = (long *)malloc(size*sizeof(long)); long *buffer2 = (long *)malloc(size*sizeof(long)); startclock = clock(); /* ** Formula used: ** ** Pi/4 = 12*arctan(1/18)+8*arctan(1/57)-5*arctan(1/239) (Gauss) */ NbArctan = 3; m[0] = 12; m[1] = 8; m[2] = -5; p[0] = 18; p[1] = 57; p[2] = 239; SetToInteger (size, Pi, 0); /* ** Computation of Pi/4 = Sum(i) [m[i]*arctan(1/p[i])] */ for (i=0; i0) Add (size, Pi, arctan); else Sub (size, Pi, arctan); > Mul (size, Pi, 4); endclock = clock (); Print (size, Pi); /* Print out of Pi */ printf ("Computation time is : %9.2f seconds\n", (float)(endclock-startclock)/(float)CLOCKS_PER_SEC ); free (Pi); free (arctan); free (buffer1); free (buffer2); >
Конечно, это не самые эффективные способы вычисления числа пи. Существует еще громадное количество формул. Например, формула Чудновского (Chudnovsky), разновидности которой используются в Maple. Однако в обычной практике программирования формулы Гаусса вполне хватает, поэтому эти методы не будут описываться в статье. Вряд ли кто-то хочет вычислять миллиарды знаков пи, для которых сложная формула дает большое увеличение скорости.
Глава 6. Вычисление числа π
Одиннадцать первых цифр числа π = 3,1415926535… легко запомнить с помощью такой мнемоники:
«Кто и шутя и скоро пожелаетъ пи узнать число, ужъ знаетъ».
Её придумали до реформы русской орфографии 1918 года, поэтому и буквы «ѥръ» в конце слов после согласных.
Для приближённого вычисления числа π применяются разные методы.
Один из способов (на практике не очень удобный) связан с вычислением бесконечной суммы (ряда) Лейбница: 1 − 1 3 + 1 5 − 1 7 + … = ∑ i = 0 ∞ − 1 i 2 i + 1 = π 4 .
Можно получить π из суммы другого ряда — ряда Эйлера: 1 + 1 2 2 + 1 3 2 + … = ∑ i = 1 ∞ 1 i 2 = π 2 6 .
Естественно, на компьютере невозможно осуществить вычисление бесконечной суммы. Однако в математическом анализе доказывается, что оба ряда сходятся. Это значит, что последовательности частных сумм стремятся к некоторым числам (в наших примерах к π 4 и π 2 6 ), то есть сумма достаточно большого количества слагаемых ряда даст хорошее приближение для суммы. Задавшись требуемой точностью, можно даже указать необходимые количества слагаемых, чтобы обеспечить вычисление с этой точностью (конечно, без учёта ошибок округления при выполнении арифметических действий — такие ошибки очень трудно контролировать).
Рассмотрим геометрическую прогрессию со знаменателем − 1 : 1 − 1 + 1 − 1 + … Найдём её сумму S : S = 1 − 1 + 1 − 1 + … = 1 − 1 − 1 + 1 − … . Заметим, что выражение в скобках ничем не отличается от выражения для S : S = 1 − S . Отсюда находим, что S = 1 2 .
Всё это очень странно…
Сходится не всякий ряд. Единственный ряд, изучаемый в школе — геометрическая прогрессия: 1 + q + q 2 + q 3 + q 4 + … = ∑ i = 0 ∞ q i . Его сходимость зависит от q : ряд сходится лишь при q < 1 . В этом случае сумма, как известно, равна 1 1 − q .
Для сходимости необходимо, чтобы последовательность слагаемых стремилась к нулю. Но это условие не является достаточным.
Наряду с бесконечными суммами (рядами) рассматривают также бесконечные произведения и другие бесконечные выражения.
Число Пи в Си
Константа Pi определена в файле math.h следующим образом:
cat /usr/include/math.h | grep M_PI # define M_PI 3.14159265358979323846 /* pi */
Теперь я хочу вывести ее на экран:
printf("M_PI = %.25f\n",M_PI);
И получаю результат:
M_PI = 3.1415926535897931159979635
Уважаемые знатоки, внимание вопрос: почему значения не совпадают?
Deleted
21.09.18 18:03:25 MSK
← 1 2 →

i-rinat ★★★★★
( 21.09.18 18:05:57 MSK )
Ответ на: комментарий от i-rinat 21.09.18 18:05:57 MSK

Ему скорее ман на printf нужен.
Dudraug ★★★★★
( 21.09.18 18:32:14 MSK )
Константа Pi определена в файле math.h следующим образом
Это не константа, это макрос, просто строка текста
Crocodoom ★★★★★
( 21.09.18 18:32:56 MSK )
Ответ на: комментарий от Crocodoom 21.09.18 18:32:56 MSK

Это не константа, это макрос, просто строка текста
Строка текста — это M_PI, а результат макроса именно константное число.
vodz ★★★★★
( 21.09.18 18:50:07 MSK )

Потому же, почему 0.3 + 0.4 != 0.7
PPP328 ★★★★★
( 21.09.18 18:59:38 MSK )
Уважаемые знатоки, внимание вопрос: почему значения не совпадают?
$ cat /usr/include/math.h | grep M_PI # define M_PI 3.14159265358979323846 /* pi */ # define M_PI_2 1.57079632679489661923 /* pi/2 */ # define M_PI_4 0.78539816339744830962 /* pi/4 */ # define M_PIl 3.141592653589793238462643383279502884L /* pi */ # define M_PI_2l 1.570796326794896619231321691639751442L /* pi/2 */ # define M_PI_4l 0.785398163397448309615660845819875721L /* pi/4 */ # define M_PIf16 __f16 (3.141592653589793238462643383279502884) /* pi */ # define M_PI_2f16 __f16 (1.570796326794896619231321691639751442) /* pi/2 */ # define M_PI_4f16 __f16 (0.785398163397448309615660845819875721) /* pi/4 */ # define M_PIf32 __f32 (3.141592653589793238462643383279502884) /* pi */ # define M_PI_2f32 __f32 (1.570796326794896619231321691639751442) /* pi/2 */ # define M_PI_4f32 __f32 (0.785398163397448309615660845819875721) /* pi/4 */ # define M_PIf64 __f64 (3.141592653589793238462643383279502884) /* pi */ # define M_PI_2f64 __f64 (1.570796326794896619231321691639751442) /* pi/2 */ # define M_PI_4f64 __f64 (0.785398163397448309615660845819875721) /* pi/4 */ # define M_PIf128 __f128 (3.141592653589793238462643383279502884) /* pi */ # define M_PI_2f128 __f128 (1.570796326794896619231321691639751442) /* pi/2 */ # define M_PI_4f128 __f128 (0.785398163397448309615660845819875721) /* pi/4 */ # define M_PIf32x __f32x (3.141592653589793238462643383279502884) /* pi */ # define M_PI_2f32x __f32x (1.570796326794896619231321691639751442) /* pi/2 */ # define M_PI_4f32x __f32x (0.785398163397448309615660845819875721) /* pi/4 */ # define M_PIf64x __f64x (3.141592653589793238462643383279502884) /* pi */ # define M_PI_2f64x __f64x (1.570796326794896619231321691639751442) /* pi/2 */ # define M_PI_4f64x __f64x (0.785398163397448309615660845819875721) /* pi/4 */
anonymous
( 21.09.18 19:28:45 MSK )
anonymous
( 21.09.18 19:54:51 MSK )

чтение памяти за переменной?
PexuOne ☆
( 21.09.18 19:55:21 MSK )
Ответ на: комментарий от PexuOne 21.09.18 19:55:21 MSK
%f это double, константа double но с точностью float.
anonymous
( 21.09.18 19:59:08 MSK )
Ответ на: комментарий от anonymous 21.09.18 19:59:08 MSK

там же 16 значащих чисел ему и вывело, что двойную точность обеспечило, а дальше ему не обязаны точно выводить.
grem ★★★★★
( 21.09.18 20:07:08 MSK )

ты ещё в фортране литералы не выводил на экран или не присваивать их чему-нить, там при их объявлении свои заморочки
grem ★★★★★
( 21.09.18 20:08:18 MSK )

Кстати, M_PI не включено в какой-либо стандарт C или С++. Так что его даже и не должно быть в стандартном math.h (или cmath). Однако POSIX таки определаяет M_PI
KennyMinigun ★★★★★
( 22.09.18 01:14:24 MSK )
Последнее исправление: KennyMinigun 22.09.18 01:15:45 MSK (всего исправлений: 1)
Число Пи
Даже если вы давно закончили школу и из всего курса математики помните только таблицу умножения, мы уверены: про число пи вы знаете. Скажете с ходу, чему оно равно? Помните, для чего нужно число пи и как его посчитать? Если нет, читайте наш урок

Представляете, мы живем в эпоху технологического прорыва, но до сих пор не можем точно рассчитать площадь съеденного круглого торта? Все потому, что в формуле вычисления площади круга используется число π.
От автомобильного колеса до орбиты спутника, от часового механизма до электромагнитных и звуковых волн. В любой научной области есть расчеты, и практически в любом расчете не обойтись без числа пи. Даже там, где, казалось бы, окружности нет места, например в статистике.
Что такое число пи
Число пи — это отношение длины окружности к ее диаметру. Обозначается оно буквой греческого алфавита π. Если записать это отношение математическими символами, то выглядит оно так: π = C/d, где C — это длина окружности, а d — диаметр окружности. То есть π — это результат деления длины окружности на ее диаметр. Но само по себе число пи не является каким-то параметром окружности. Это математическая постоянная, или константа (то есть неизменная), которая нужна для расчета определенных данных. Например, число пи необходимо, чтобы посчитать площадь круга.
Чему равно число пи

Число пи не имеет точного значения. Это легко проверить. Возьмите круг любого размера, разделите его окружность на диаметр — у вас получится десятичная дробь с множеством цифр после запятой. Математики называют такие числа иррациональными. Результат, который вы увидите, будет равен 3 целых и сколько-то десятых, сотых, тысячных — и далее насколько хватит дисплея калькулятора. У числа пи бесконечное количество знаков после запятой. Но для удобства в расчетах используют округленные значения.
Число π примерно равно 3,14, или, если точнее, 3,1415926535. Именно значение с десятью знаками после запятой принято использовать. Но все дело в округлении. Там, где не нужны максимально точные расчеты, за число пи часто берут 3. А вот для точных расчетов в науке ученые используют число пи с 38-ю знаками десятичного разложения (после запятой в десятичной дроби).
Итак:
π = 3,14 или π = 3,1415926535
Как посчитать число пи самостоятельно

Возьмите несколько круглых предметов разного размера, например тарелку, блюдце и крышку от кастрюли. Измерьте окружность каждого. Для этого используйте сантиметровую ленту. Или можно обернуть их по окружности ниткой или веревкой, а потом полученную длину нитки или веревки измерить линейкой. С помощью сантиметровой ленты или линейки измерьте и диаметр каждого предмета. Длина окружности и диаметры у каждого будут разные, ведь предметы разные по размеру.
Теперь для каждого предмета разделите его длину окружности на диаметр. Вы увидите, что во всех случаях, какого бы размера ни был круглый предмет, полученное значение будет 3 целых и далее десятые и сотые доли. Оно необязательно соответствует принятому значению в 3,14, но всегда будет около него.
Практическое применение числа пи
В школе нас учат использовать число пи для вычисления площади круга. Рассчитывается она по следующей формуле: S = πr², где S — площадь, π — число пи, r² — радиус в квадрате. Можно использовать эту формулу: S = d²/4*π, где d² — диаметр.
Зная число пи и диаметр, можно посчитать длину окружности. Для этого вспомним школьные уравнения. Если π = C/d, то C (длина окружности) высчитывается по формуле C = π*d.

Но применение числа пи в науке гораздо шире. Оно используется практически для любых расчетов в любой области, будь то архитектура, авиация и даже статистика. Например, число π нужно для расчета времени полета самолета и расстояния, которое он должен преодолеть. А в статистике с помощью числа пи рассчитывают значения ниже так называемой кривой нормального распределения. Это нужно для того чтобы, например, выяснить, как распределялись голоса респондентов при опросе.
S (площадь круга) = πr²
История числа пи
Считается, что первым обозначать число пи буквой греческого алфавита π (pi) стал британский математик Уильям Джонс в 1706 году, а популяризировал обозначение его швейцарский коллега Леонард Эйлер в 1737 году. Есть версия, что эта буква выбрана не случайно, а как начальная в греческом слове perijereia, что означает «окружность», «периферия».
Как и на многие явления, известные науке сегодня, на существование некой постоянной, с помощью которой можно посчитать площадь круга, обратили внимание еще в Древнем мире. Но ученые того времени приходили к разному мнению относительно значения этой постоянной: одни использовали значение 3,125, другие — 3,16, третьи — 3,139. Но всегда это значение было 3 с небольшим.
На точное вычисление числа пи ушли тысячелетия. Первым, кто определил более-менее приблизительное значение π, был древнегреческий ученый Архимед. По его расчетам пи равно 3,142857142857143. Как мы знаем сейчас, верными оказались только первые два десятичных числа.
это интересно
Натуральные числа
Их разряды, классы и свойства

Точнее оказались расчеты китайского математика 480-х годов нашей эры — 3,1415927. Именно это значение числа пи считалось самым верным до 1420-х годов, пока ученые не расширили этот ряд до 16 цифр после запятой, затем до 20-ти, 32-х и так далее.
В XX веке с приходом компьютерных систем и вычислительной техники дело пошло быстрее: теперь уже точные десятичные значения высчитывали машины. С помощью специальных алгоритмов математики во всем мире продолжают определять новые, более точные значения числа пи, устанавливая рекорды по количеству цифр десятичного разложения (после запятой в десятичной дроби).
Популярные вопросы и ответы
Отвечают Вячеслав Смольняков, учитель математики и информатики высшей квалификационной категории, эксперт ОГЭ и ЕГЭ Региональной предметной комиссии по математике и информатике; Ирина Ходакова, учитель математики.
Как округлить число пи?
Чтобы не запоминать число пи с большим количеством десятичных значений, его принято округлять, — говорит Вячеслав Смольняков. — В математике все округления проводятся по строгим правилам. Для округления значения числа пи применяют метод округления к ближайшему целому. Если перед округляемым числом стоит число 5 и большее, то число округляется в большую сторону. Например, 12,513. Другой пример: 12,5812,613.
Если перед округляемым числом стоит число менее 5, то число округляется в меньшую сторону. Например, 12,412. Или: 12,3412,312.
Итак, возьмем π — 3,1415. Округление начинают с последнего значения, в данном случае это 5. Значит, следующая за ним единица округляется до двух: 3,14153,142. Последнее число 2 меньше пяти, значит, последующее 4 остается неизменным: 3,1423,14. Вот мы и пришли к общепринятому значению числа пи.
По тому же принципу давайте продолжим округление до целого числа: 3,143,23. И вот у нас получилось значение числа пи 3.
Как запомнить число пи?
Чтобы запомнить значение числа π, — советует Ирина Ходакова, — используют один из самых популярных способов — запомнить фразу, в которой количество букв в каждом слове совпадает с цифрами числа π.
Например, «Что(3) я(1) знаю(4) о(1) круге(5)?»
Чтобы запомнить больше знаков числа π, пользуются различными приемами мнемотехники (совокупность приемов, облегчающих запоминание информации). Например, существует стихотворение С. Боброва «Волшебный двурог» для запоминания числа π, которое совсем не сложно выучить:
«Чтобы нам не ошибаться,
Надо правильно прочесть:
Три, четырнадцать, пятнадцать,
Девяносто два и шесть.
Ну и дальше надо знать,
Если мы вас спросим —
Это будет пять, три, пять,
Восемь, девять, восемь»
Где используется число пи?
Изначально число π было необходимо для применения в строительстве. Ведь порой из-за погрешности в значении числа π падали башни и рушились целые дворцы. Сейчас π используется в различных сферах нашей жизни.
Мы уже выяснили, что число π позволяет нам рассчитывать и создавать окружности. Если колеса на вашем автомобиле будут немного отличаться друг от друга, то поездки для вас станут как минимум не очень удобными. Но применение числа π этим не ограничивается. Например, без числа π нельзя было бы обеспечить качественную работу телевизоров, радио и телефонов, так как инженеры используют π для расчета и оптимизации звуковых волн. Также π играет важную роль в расчете времени и расстояния путешествия на самолете, так как на большие расстояния самолеты летят по округлой дуге. Не было бы даже многих игр, таких как футбол, баскетбол, теннис, ведь мячи должны быть абсолютно круглыми.