beldmit: (Программизм)
[personal profile] beldmit
Помните задачку, встреченную мной впервые у Перельмана - про самое большое число, записываемое тремя девятками, 999?

Если подумать, то представление этого числа как строки - это всего-то 300 Мб. Наверняка его получится вычислить на современных компьютерах "в лоб" за разумное время. Осталось понять, какие языки поддерживают соответствующие типы данных.

Date: 2009-10-19 05:29 pm (UTC)
From: [identity profile] slobin.livejournal.com
Ага, J оказалась не лучшим для этого инструментом. CLISP считает 9^9^6 (именно 6, не 5) примерно за секунду. Правда, вскоре после этого дохнет: у него предельная длина целого 2^21 бит. Я не знаю, можно ли там пошевелить какую-нибудь константу в исходниках, или это гвоздями прибито. Но в пределах двух миллионов бит он считает БЫСТРО. ;-)

P.S. Правда, печаталка в десятичном виде ломается немного раньше: 10^400000 она мне печатает, 10^500000 уже нет. Поэтому разве что так:

[1]> (* (integer-length (expt 9 (expt 9 6))) (log 2 10))
507123.88

... Дежурный оптимист слушает ...

Profile

beldmit: (Default)
Dmitry Belyavskiy

December 2025

S M T W T F S
 123456
78910111213
14151617181920
2122 2324252627
28 29 3031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 8th, 2026 09:29 am
Powered by Dreamwidth Studios