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

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

Date: 2009-10-19 06:59 am (UTC)
From: [identity profile] mikeiva.livejournal.com
Мысль любопытная. В cache object script тип данных на самом деле один - строка. Просто дальше эти данные по контексту обрабатываются - если она начинается с цифры, то рассматривается как число (до тех пор, пока не встретится не-цифра). В описании типов для конкретного класса длину строки, в принципе, можно переопределить (по умолчанию стоит 50 символов, я везде использую 1024). Правда, что получится, если попытаться 300М задать - не знаю. Но это и не надо, пожалуй: так как это строки, к ним можно конкатенацию применять. Нужное число для очередного пермножения - набор строк [разряды 1..1000][разряды 1001-2000]..., дальше как-нибудь уж реализуем умножение и перенос результатов между разрядами.

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 07:06 am
Powered by Dreamwidth Studios