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

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

Date: 2009-10-19 04:25 pm (UTC)
From: [identity profile] slobin.livejournal.com
Я бы не стал -- оптимизаторы обычно умнее тебя. Ну вот, например, J (наследник APL):

   timespace 'x =: 9^9^5x'
3.90109 448128
   timespace 'y =: (((((((((9x^3)^3)^3)^3)^3)^3)^3)^3)^3)^3'
4.85335 574720
   timespace 'z =: ^~/(10$3),9x'
4.82759 559872
   10^.x,y,z
56347.1 56347.1 56347.1

z -- это сокращённая запись для y. Последняя строчка -- десятичный логарифм (количество цифр). 9^9^6 пока не посчиталось (10 минут прошло), но у меня машинка наверняка слабее Димкиной.

... На очень высоких путях ...

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. 7th, 2026 03:02 am
Powered by Dreamwidth Studios