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

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

Date: 2009-10-22 09:29 pm (UTC)
From: [identity profile] slobin.livejournal.com
Продолжаем разговор. ;-)

C:\Program Files\Pure>cat zz.pure
using system;
puts(str(pow 9 (pow 9 7)));

C:\Program Files\Pure>zztimer.cmd pure zz.pure > zz.txt
Fri Oct 23 01:15:22 2009
102

C:\Program Files\Pure>dir zz.txt
 Volume in drive C has no label.
 Volume Serial Number is 608F-C9D4

 Directory of C:\Program Files\Pure

23.10.2009  01:17         4 564 116 zz.txt
               1 File(s)      4 564 116 bytes
               0 Dir(s)   9 556 246 528 bytes free

102 секунды (Pentium III 800 MHz, 768M). zztimer.cmd написан на коленке, потому что нормального time у меня в винде не оказалось. Белявскому: если будешь сравнивать длину ответа -- у меня там в конце буква L (потому что длинное целое) и \r\n, итого три лишних байта. Pure в данном случае выступал как обёртка к упомянутой выше GNU MP library (самого языка я вообще не знаю, подсмотрел в примерах синтаксис, не более того). Правда, на 9^9^8 упал. Подозреваю, что это особенность виндовой сборки, и под Линуксом посчитает.

... Powered by МОСЭНЕРГО ...

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 01:55 am
Powered by Dreamwidth Studios