среда, 1 октября 2014 г.

Четыре двойки - продолжение

Как выяснилось, простой калькулятор (gcalctool) легко может посчитать 2 ^ (2 ^ 22). Надо только подождать достаточное количество времени.
Wolfram Alpha вычисляет этот результат за секунду.
Это будет 2.0650635398358879243991194945816501695274360 × 10^1262611.
Да-да, 1.2 миллиона значащих чисел.

Но я написал (на PHP, да) свою собственную программу для вычисления этого значения. Моей ошибкой было делать на каждой итерации вычисления вывод в консоль, на это уходило очень много времени. Думаю, если бы я делал вывод в консоль на каждой тысячной итерации, например, дело шло бы гораздо быстрее. За десять минут мой скрипт продвинулся едва ли на одну сороковую часть наобходимых вычислений. Мне надоело ждать и я его остановил. Последнее, что он вывел в консоль, было следующим:
Power 111818 result consists 33661 digits...  power 111819 calculated (2.67% done, 1699 sec elapsed)
Power 111819 result consists 33661 digits...  power 111820 calculated (2.67% done, 1699 sec elapsed)
Power 111820 result consists 33662 digits... ^C

Комментариев нет:

Отправить комментарий

Ублюдочный Гугл поломал форму комментариев. Извините.