Какое число пи. Таинственное число "пи". История числа «Пи»

Число π показывает, во сколько раз длина окружности больше ее диаметра. Неважно, какого размера окружность, - как заметили по меньшей мере еще 4 тыс. лет назад, соотношение всегда остается одним и тем же. Вопрос только, чему оно равняется.

Чтобы высчитать его приблизительно, достаточно обыкновенной нитки. Грек Архимед в III веке до н.э. применял более хитрый способ. Он чертил внутри и снаружи окружности правильные многоугольники. Складывая длины сторон многоугольников, Архимед все точнее определял вилку, в которой находится число π, и понял, что оно приблизительно равно 3,14.

Методом многоугольников пользовались еще почти 2 тыс. лет после Архимеда, это позволило узнать значение числа π вплоть до 38-й цифры после запятой. Еще один-два знака - и можно с точностью до атома рассчитать длину окружности с диаметром как у Вселенной.

Пока одни ученые использовали геометрический метод, другие догадались, что число π можно рассчитывать, складывая, вычитая, деля или умножая другие числа. Благодаря этому "хвост" вырос до нескольких сотен цифр после запятой.

С появлением первых вычислительных машин и особенно современных компьютеров точность повысилась на порядки - в 2016 году швейцарец Петер Трюб определил значение числа π до 22,4 трлн знаков после запятой . Если напечатать этот результат в строчку 14-м кеглем нормальной ширины, то запись получится немногим короче, чем среднее расстояние от Земли до Венеры.

В принципе ничто не мешает добиться еще большей точности, но для научных расчетов в этом давно нет нужды - разве что для тестирования компьютеров, алгоритмов и для исследований в математике. А исследовать есть что. Даже про само число π известно не все. Доказано, что оно записывается в виде бесконечной непериодической дроби , то есть цифрам после запятой нет предела, и они не складываются в повторяющиеся блоки. Но вот с одинаковой ли частотой появляются цифры и их комбинации, неясно. Судя по всему, это так, но пока никто не привел строгого доказательства.

Дальнейшие вычисления проводятся в основном из спортивного интереса - и по той же причине люди пытаются запомнить как можно больше цифр после запятой. Рекорд принадлежит индийцу Раджвиру Мине, который в 2015 году назвал на память 70 тыс. знаков , сидя с завязанными глазами почти десять часов.

Наверное, чтобы превзойти его результат, нужен особый талант. Но просто удивить друзей хорошей памятью способен каждый. Главное - использовать одну из мнемонических техник, которая потом может пригодиться и для чего-нибудь еще.

Структурировать данные

Самый очевидный способ - разбить число на одинаковые блоки. Например, можно представить π как телефонную книгу с десятизначными номерами, а можно - как причудливый учебник истории (и будущего), где перечислены годы. Много так не запомнишь, но, чтобы произвести впечатление, хватит и пары десятков знаков после запятой.

Превратить число в историю

Считается, что самый удобный способ запомнить цифры - придумать историю, где им будет соответствовать количество букв в словах (ноль было бы логично заменить пробелом, но тогда большинство слов сольется; вместо этого лучше использовать слова из десяти букв). По этому принципу построена фраза "Можно мне большую упаковку кофейных зерен?" на английском языке:

May - 3,

have - 4

large - 5

container - 9

coffee - 6

beans - 5

В дореволюционной России придумали похожее предложение: "Кто и шутя и скоро пожелает(ъ) Пи узнать число, уже знает(ъ)". Точность - до десятого знака после запятой: 3,1415926536. Но проще запомнить более современный вариант: "Она и была, и будет уважаемая на работе". Есть и стихотворение: "Это я знаю и помню прекрасно - пи, многие знаки мне лишни, напрасны". А советский математик Яков Перельман сочинил целый мнемонический диалог:

Что я знаю о кругах? (3,1415)

Вот и знаю я число, именуемое пи - молодец! (3,1415927)

Учи и знай в числе известном за цифрой цифру, как удачу примечать! (3,14159265359)

Американский математик Майкл Кит и вовсе написал целую книгу Not A Wake, в тексте которой содержится информация о первых 10 тыс. цифр числа π.

Заменить цифры буквами

Кому-то легче запомнить бессвязные буквы, чем случайные цифры. В этом случае цифры заменяются первыми буквами алфавита. Первое слово в названии рассказа Cadaeic Cadenza Майкла Кита появилось именно таким образом. Всего в этом произведении закодировано 3835 знаков числа пи - правда, тем же способом, что в книге Not a Wake.

В русском языке для подобных целей можно использовать буквы от А до И (последняя будет соответствовать нолю). Насколько удобно будет запоминать составленные из них комбинации - вопрос открытый.

Придумать образы для комбинаций цифр

Чтобы добиться по-настоящему выдающихся результатов, предыдущие методы не годятся. Рекордсмены используют технику визуализации: изображения запомнить легче, чем цифры. Сначала нужно сопоставить каждую цифру с согласной буквой. Получится, что каждому двухзначному числу (от 00 до 99) соответствует двухбуквенное сочетание.

Допустим, один - это "н", четыр е - "р", пят ь - "т". Тогда число 14 - это "нр", а 15 - "нт". Теперь эти пары следует дополнить другими буквами, чтобы получилось слова, например, "н ор а" и "н ит ь". Всего понадобится сто слов - вроде бы много, но за ними стоят всего десять букв, поэтому запомнить не так уж сложно.

Число π предстанет в уме как последовательность образов: три целых, нора, нить и т.п. Чтобы лучше запомнить эту последовательность, изображения можно нарисовать или распечатать на принтере и поставить перед глазами. Некоторые люди просто раскладывают соответствующие предметы по комнате и вспоминают числа, разглядывая интерьер. Регулярные тренировки по этому методу позволят запомнить сотни и даже тысячи знаков после запятой - или любую другую информацию, ведь визуализировать можно не только числа.

Марат Кузаев, Кристина Недкова

Число Пи - одно из самых популярных математических понятий. О нем пишут картины, снимают фильмы, его играют на музыкальных инструментах, ему посвящают стихи и праздники, его ищут и находят в священных текстах.

Кто открыл π?

Кто и когда впервые открыл число π, до сих пор остается загадкой. Известно, что строители древнего Вавилона уже вовсю пользовались им при проектировании. На клинописных табличках, которым тысячи лет, сохранились даже задачи, которые предлагали решить с помощью π. Правда, тогда считалось, что π равно трем. Об этом свидетельствует табличка, найденная в городе Сузы, в двухстах километрах от Вавилона, где число π указывалось как 3 1/8 .

В процессе вычислений π вавилонцы обнаружили, что радиус окружности в качестве хорды входит в нее шесть раз, и поделили круг на 360 градусов. А заодно сделали то же самое с орбитой солнца. Таким образом, они решили считать, что в году 360 дней.

В Древнем Египте π было равно 3,16.
В древней Индии – 3,088.
В Италии на рубеже эпох считали, что π равно 3,125.

В Античности самое раннее упоминание π относится к знаменитой задаче о квадратуре круга, то есть о невозможности при помощи циркуля и линейки построить квадрат, площадь которого равна площади определенной окружности. Архимед приравнивал π к дроби 22/7 .

Ближе всего к точному значению π подошли в Китае. Его вычислил в V веке н. э. знаменитый китайский астроном Цзу Чунь Чжи. Вычислялось π довольно просто. Надо было дважды написать нечетные числа: 11 33 55, а потом, разделив их пополам, поместить первое в знаменатель дроби, а второе – в числитель: 355/113 . Результат совпадает с современными вычислениями π вплоть до седьмого знака.

Почему π – π?

Сейчас даже школьники знают, что число π - математическая константа, равная отношению длины окружности к длине её диаметра и равняется π 3,1415926535 … и далее после запятой – до бесконечности.

Свое обозначение π число обрело сложным путем: сначала этой греческой буквой в 1647 году математик Оутрейд обозвал длину окружности. Он взял первую букву греческого слова περιφέρεια - «переферия». В 1706 году английский преподаватель Уильям Джонс в работе «Обозрение достижений математики» уже называл буквой π отношение длины окружности к ее диаметру. А закрепил название математик XVIII века Леонард Эйлер, перед авторитетом которого остальные склонили головы. Так π стало π.

Уникальность числа

Пи - поистине уникальное число.

1. Ученые считают, что количество знаков в числе π бесконечно. Их последовательность не повторяется. Более того, найти повторения не удастся никому и никогда. Так как число бесконечно, оно может заключать в себе абсолютно все, даже симфонию Рахманинова, Ветхий Завет, ваш номер телефона и год, в котором наступит Апокалипсис.

2. π связано с теорией хаоса. К такому выводу пришли ученые после создания вычислительной программы Бэйли, которая показала, что последовательность чисел в π абсолютно случайна, что соответствует теории.

3. Вычислить число до конца практически невозможно – это заняло бы слишком много времени.

4. π – иррациональное число, то есть его значение нельзя выразить дробью.

5. π – трансцедентное число. Его нельзя получить, произведя какие-либо алгебраические действия над целыми числами.

6. Тридцать девять знаков после запятой в числе π достаточно для того, что вычислить длину окружности, опоясывающей известные космические объекты во Вселенной, с погрешностью в радиус атома водорода.

7. Число π связано с понятием «золотого сечения». В процессе измерений Великой пирамиды в Гизе археологи выяснили, что ее высота относится к длине ее основания, так же как радиус окружности - к ее длине.

Рекорды, связанные с π

В 2010 году сотрудник компании «Yahoo» математик Николас Чже смог вычислить в числе π два квадрильона знаков после запятой (2x10). На это ушло 23 дня, и математику понадобилось множество помощников, которые работали на тысячах компьютеров, объединенных по технологии рассеянных вычислений. Метод позволил произвести расчеты с такой феноменальной скоростью. Чтобы вычислить то же самое на одном компьютере, потребовалось бы больше 500 лет.

Для того, чтобы просто записать все это на бумаге, потребуется бумажная лента больше двух миллиардов километров длиной. Если развернуть такую запись, ее конец выйдет за пределы Солнечной системы.

Китаец Лю Чао установил рекорд по запоминанию последовательности цифр числа π. В течение 24 часов 4 минут Лю Чао назвал 67 890 знаков после запятой, не допустив ни одной ошибки.

У π много поклонников. Его воспроизводят на музыкальных инструментах, и оказывается, что «звучит» оно превосходно. Его запоминают и придумывают для этого различные приемы. Его ради забавы скачивают себе на компьютер и хвастаются друг перед другом, кто больше скачал. Ему ставят памятники. Например, такой памятник есть в Сиэтле. Он находится на ступенях перед зданием Музея искусств.

π используют в украшениях и в интерьере. Ему посвящают стихи, его ищут в святых книгах и на раскопках. Есть даже «Клуб π».
В лучших традициях π, числу посвящен не один, а целых два дня в году! В первый раз День π празднуют 14 марта. Поздравлять друг друга надо ровно в 1час, 59 минут, 26 секунд. Таким образом, дата и время соответствуют первым знакам числа- 3,1415926.

Во второй раз праздник π отмечают 22 июля. Этот день связывают с так называемым «приближенным π», который Архимед записывал дробью.
Обычно в этот день π студенты, школьники и ученые устраивают забавные флэш-мобы и акции. Математики, забавляясь, с помощью π вычисляют законы падающего бутерброда и дарят друг другу шуточные награды.
И между прочим, π в самом деле можно найти в святых книгах. Например, в Библии. И там число π равно… трем.

14 мар 2012

14 марта математики отмечают один из самых необычных праздников - Международный день числа «Пи». Эта дата выбрана неслучайно: числовое выражение π (Пи) - 3,14 (3 месяц (март) 14 число).

Впервые с этим необычным числом школьники сталкиваются уже в младших классах при изучении круга и окружности. Число π - математическая константа, которая выражает отношение длины окружности к длине ее диаметра. Т.е если взять окружность с диаметром равным единице, то длина окружности и будет равна числу «Пи». Число π имеет бесконечную математическую продолжительность, но в повседневных вычислениях используют упрощенное написание числа, оставляя только два знака после запятой, - 3,14.

В 1987 году этот день отмечался впервые. Физик Ларри Шоу из Сан-Франциско заметил, что в американской системе записи дат (месяц / число) дата 14 марта - 3/14 совпадает с числом π (π = 3,1415926…). Обычно празднования начинаются в 1:59:26 дня (π = 3,1415926 …).

История числа «Пи»

Предполагается, что история числа π начинается в Древнем Египте. Египетские математики определяли площадь круга диаметром Dкак (D-D/9) 2 . Из данной записи видно, что в то время число π приравнивали к дроби (16/9) 2 , или 256/81, т.е. π 3,160...

В VI в. до н.э. в Индии в религиозной книге джайнизма есть записи, свидетельствующие о том, что число π в то время принимали равным квадратному корню из 10, что даёт дробь 3,162...
В III в. до н.э.Архимед в своей небольшой работе "Измерение круга" обосновал три положения:

  1. Всякий круг равновелик прямоугольному треугольнику, катеты которого соответственно равны длине окружности и её радиусу;
  2. Площади круга относятся к квадрату, построенному на диаметре, как 11 к 14;
  3. Отношение любой окружности к её диаметру меньше 3 1/7 и больше 3 10/71.

Последнее положение Архимед обосновал последовательным вычислением периметров правильных вписанных и описанных многоугольников при удвоении числа их сторон. По точным расчётам Архимеда отношение окружности к диаметру заключено между числами 3*10 / 71и 3*1/7, а это означает, что число «пи» равно 3,1419... Истинное значение этого отношения 3,1415922653...
В V в. до н.э. китайский математик Цзу Чунчжи нашёл более точное значение этого числа: 3,1415927...
Впервой половине XV в. астроном и математикал-Каши вычислил π с 16 десятичными знаками.

Спустя полтора столетия в Европе Ф.Виетнашёл число π только с 9 правильными десятичными знаками: он сделал 16 удвоений числа сторон многоугольников. Ф.Виетпервым заметил, что π можно отыскать, используя пределы некоторых рядов. Это открытие имело большое значение, оно позволило вычислить π с какой угодно точностью.

В 1706 г английский математик У.Джонсон ввёл обозначение отношения длины окружности к диаметру и обозначил его современным символом π первой буквой греческого слова periferia-окружность.

На протяжении длительного периода времени учёные всего мира пытались разгадать тайну этого загадочного числа.

В чем же сложность вычисления значения π ?

Число π является иррациональным: его невозможно выразить в виде дроби p/q, где p и q целые числа, данное число не может быть корнем алгебраического уравнения. Нельзя указать алгебраическое или дифференциальное уравнение, корнем которого будет π, поэтому данное число называется трансцендентным и вычисляется путём рассмотрения какого-либо процесса и уточняется за счет увеличения шагов рассматриваемого процесса. Множественные попытки просчитать максимальное количество знаков числа π привели к тому, что сегодня, благодаря современной вычислительной технике, можно рассчитать последовательность с точностью в 10 триллионов цифр после запятой.

Цифры десятичного представления числа π достаточно случайны. В десятичном разложении числа можно найти любую последовательность цифр. Предполагают, что в данном числе в зашифрованном виде есть все написанные и ненаписанные книги, любая информация, которую только можно представить, находится в числе π.

Можете сами попробовать разгадать тайну этого числа самостоятельно. Записать число «Пи» полностью, конечно не получится. Но самым любопытным предлагаю рассмотреть первые 1000 знаковчисла π = 3,
1415926535 8979323846 2643383279 5028841971 6939937510 5820974944 5923078164 0628620899 8628034825 3421170679 8214808651 3282306647 0938446095 5058223172 5359408128 4811174502 8410270193 8521105559 6446229489 5493038196 4428810975 6659334461 2847564823 3786783165 2712019091 4564856692 3460348610 4543266482 1339360726 0249141273 7245870066 0631558817 4881520920 9628292540 9171536436 7892590360 0113305305 4882046652 1384146951 9415116094 3305727036 5759591953 0921861173 8193261179 3105118548 0744623799 6274956735 1885752724 8912279381 8301194912 9833673362 4406566430 8602139494 6395224737 1907021798 6094370277 0539217176 2931767523 8467481846 7669405132 0005681271 4526356082 7785771342 7577896091 7363717872 1468440901 2249534301 4654958537 1050792279 6892589235 4201995611 2129021960 8640344181 5981362977 4771309960 5187072113 4999999837 2978049951 0597317328 1609631859 5024459455 3469083026 4252230825 3344685035 2619311881 7101000313 7838752886 5875332083 8142061717 7669147303 5982534904 2875546873 1159562863 8823537875 9375195778 1857780532 1712268066 1300192787 6611195909 2164201989

Запоминаем число «Пи»

В настоящее время с помощью вычислительной техники вычислено в десять триллионов знаков числа «Пи». Максимальное число цифр, которое смог запомнить человек составляет сто тысяч.

Чтобы запомнить максимальное количество знаков числа «Пи», используют различные стихотворные «запоминалки», в которых слова с определённым количеством букв располагаются в такой же последовательности, как цифры в числе «Пи»: 3,1415926535897932384626433832795…. Для восстановления числа необходимо подсчитать число символов в каждом из слов и записать по порядку.

Вот и знаю я число, именуемое "Пи". Молодец! (7 цифр)

Вот и Миша и Анюта прибежали
Пи узнать число они желали. (11 цифр)

Это я знаю и помню прекрасно:
Пи многие знаки мне лишни, напрасны.
Доверимся знаньям громадным
Тех, пи кто сосчитал, цифр армаду. (21 цифра)

Раз у Коли и Арины
Распороли мы перины.
Белый пух летал, кружился,
Куражился, замирал,
Ублажился,
Нам же дал
Головную боль старух.
Ух, опасен пуха дух! (25 знаков)

Можно использовать рифмованные строки, которые помогают запомнить нужное число.

Чтобы нам не ошибиться,
Нужно правильно прочесть:
Девяносто два и шесть

Если очень постараться,
Можно сразу пи прочесть:
Три, четырнадцать, пятнадцать,
Девяносто два и шесть.

Три, четырнадцать, пятнадцать,
Девять, два, шесть, пять, три, пять.
Чтоб наукой заниматься,
Это каждый должен знать.

Можно просто постараться
И почаще повторять:
«Три, четырнадцать, пятнадцать,
Девять, двадцать шесть и пять».

Остались вопросы? Хотите знать больше о числе "Пи"?
Чтобы получить помощь репетитора – зарегистрируйтесь.
Первый урок – бесплатно!

Упомянули про вопрос «Что было бы с миром, если бы число Пи равнялось 4?» Я решил слегка поразмышлять на эту тему, используя некоторые (пусть и не самые обширные) знания в соответствующих областях математики. Кому интересно – прошу под кат.

Чтобы представить такой мир, нужно математически реализовать пространство с иным соотношением длины окружности к ее диаметру. Это я и попытался сделать.

Попытка №1.
Оговорим сразу, что рассматривать я буду только двумерные пространства. Почему? Потому что окружность, собственно, определена в двумерном пространстве (если рассмотреть размерность n>2, то отношение меры (n-1)-мерной окружности к ее радиусу даже не будет константой).
Так что для начала я попытался придумать хоть какое-то пространство, где Пи не равно 3.1415… Для этого я взял метрическое пространство с метрикой, в которой расстояние между двумя точками равно максимуму среди модулей разности координат (т.е. расстояние Чебышева).

Какой же вид будет иметь единичная окружность в этом пространстве? Возьмем точку с координатами (0,0) за центр этой окружности. Тогда множество точек, расстояние (в смысле заданной метрики) от которых до центра равно 1, есть 4 отрезка, параллельных осям координат, образующих квадрат со стороной 2 и с центром в нуле.

Да, в некоторой метрике это - окружность!

Посчитаем здесь Пи. Радиус равен 1, тогда диаметр, соответственно, равен 2. Можно также рассмотреть определение диаметра как наибольшего расстояния между двумя точками, но даже так оно равно 2. Осталось найти длину нашей «окружности» в данной метрике. Это сумма длин всех четырех отрезков, которые в данной метрике имеют длину max(0,2)=2. Значит, длина окружности равна 4*2=8. Ну а тогда Пи здесь равно 8/2=4. Получилось! Но нужно ли сильно радоваться? Результат этот практически бесполезен, ведь рассматриваемое пространство абсолютно абстрактно, в нем даже не определены углы и повороты. Вы можете представить себе мир, где по факту не определен поворот, и где окружностью является квадрат? Я пытался, честно, но у меня не хватило воображения.

Радиус равен 1, а вот с нахождением длины этой «окружности» есть некоторые сложности. После некоторых поисков информации в интернете, я пришел к выводу, что в псевдоевклидовом пространстве такое понятие как «число Пи» вообще не может быть определено, что, безусловно, плохо.

Если кто-нибудь в комментариях расскажет мне, как формально считать длину кривой в псевдоевклидовом пространстве, я буду очень рад, ибо моих познаний в дифференциальной геометрии, топологии (а также усердного гугления) для этого не хватило.

Выводы:
Не знаю, можно ли писать о выводах после таких не сильно продолжительных исследований, но кое-что сказать можно. Во-первых, попытавшись представить пространство с иным числом Пи, я понял, что оно будет слишком абстрактно, чтобы быть моделью реального мира. Во-вторых, когда если попытаться придумать более удачную модель (похожую на наш, реальный мир), выходит, что число Пи останется неизменным. Если принять за данность возможность отрицательного квадрата расстояния (что для обычного человека - просто абсурд), то Пи не будет определено вовсе! Все это и наводит на мысль, что, возможно, мира с другим числом Пи и вовсе быть не могло? Ведь не зря же Вселенная именно такая, какая она есть. А может быть, это и реально, только обычной математики, физики и человеческого воображения для этого недостаточно. А вы как считаете?

Upd. Узнал точно. Длина кривой в псевдоевклидовом пространстве может быть определена только на каком-либо его евклидовом подпространстве. То есть, в частности, для получившейся в попытке N3 «окружности» вовсе не определено такое понятие как «длина». Соответственно, Пи там тоже посчитать нельзя.


Для вычисления сколько-нибудь большого количества знаков пи предыдущий способ уже не годится. Но существует большое количество последовательностей, сходящихся к Пи гораздо быстрее. Воспользуемся, например, формулой Гаусса:

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<=x(i) 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--; } } } } /* ** 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/* 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); for (i=1; i/* ** Computation of the constant Pi with arctan relations */ void main () { clock_t endclock, startclock; long NbDigits=10000, NbArctan; long p, m; 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 = 12; m = 8; m = -5; p = 18; p = 57; p = 239; SetToInteger (size, Pi, 0); /* ** Computation of Pi/4 = Sum(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. Однако в обычной практике программирования формулы Гаусса вполне хватает, поэтому эти методы не будут описываться в статье. Вряд ли кто-то хочет вычислять миллиарды знаков пи, для которых сложная формула дает большое увеличение скорости.



Читайте также: