Entry tags:
Занимательная математика.
Помните задачку, встреченную мной впервые у Перельмана - про самое большое число, записываемое тремя девятками, 999?
Если подумать, то представление этого числа как строки - это всего-то 300 Мб. Наверняка его получится вычислить на современных компьютерах "в лоб" за разумное время. Осталось понять, какие языки поддерживают соответствующие типы данных.
Если подумать, то представление этого числа как строки - это всего-то 300 Мб. Наверняка его получится вычислить на современных компьютерах "в лоб" за разумное время. Осталось понять, какие языки поддерживают соответствующие типы данных.
no subject
С другой стороны, тогда можно устроить вечную музыку.
no subject
no subject
no subject
no subject
... Инструкций? Какой вид, какой род? ...
no subject
Но для не-двоек это не так! ;-)
no subject
no subject
no subject
Оптимальности нам ведь не особо нужно, нам только одно число посчитать...
no subject
no subject
В Java, конечно есть BigInteger, неплохой тест для него. Но реализовать быстрое умножение самому - это абсолютно не проблема.
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
z -- это сокращённая запись для y. Последняя строчка -- десятичный логарифм (количество цифр). 9^9^6 пока не посчиталось (10 минут прошло), но у меня машинка наверняка слабее Димкиной.
... На очень высоких путях ...
no subject
P.S. Правда, печаталка в десятичном виде ломается немного раньше: 10^400000 она мне печатает, 10^500000 уже нет. Поэтому разве что так:
[1]> (* (integer-length (expt 9 (expt 9 6))) (log 2 10))
507123.88
... Дежурный оптимист слушает ...
no subject
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 free102 секунды (Pentium III 800 MHz, 768M). zztimer.cmd написан на коленке, потому что нормального time у меня в винде не оказалось. Белявскому: если будешь сравнивать длину ответа -- у меня там в конце буква L (потому что длинное целое) и \r\n, итого три лишних байта. Pure в данном случае выступал как обёртка к упомянутой выше GNU MP library (самого языка я вообще не знаю, подсмотрел в примерах синтаксис, не более того). Правда, на 9^9^8 упал. Подозреваю, что это особенность виндовой сборки, и под Линуксом посчитает.
... Powered by МОСЭНЕРГО ...
no subject
(фортунки остались в другой системе)
no subject
no subject
no subject
no subject
no subject
... Интересно, а что же случилось с той чайкой? ...
w00t?
http://gmplib.org/
Re: w00t?
... Audio vocem de mirabili futuro ...
no subject
... Эльфийский ислам - это религия нордических халифов ...
no subject
no subject
9^9^8
quit
beldmit@manul2$ time bc tmp/exp.txt > tmp/9_9_8
real 511m52.674s
user 456m19.427s
sys 3m45.418s
То есть на моей машине оценка времени для 999 - наверное, неделя.
Зашедший сегодня ко мне Ран предложил использовать emacs-овый calc.
Однако
time pure tmp/997.pure > tmp/9_9_7_pure
real 0m21.070s
user 0m17.429s
sys 0m0.408s
Re: Однако
... Ускорение темпов роста повышения производительности труда ...
Re: Однако
... Административное нарушение и порицание ...