Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
9^(9^9) 24.01.09 01:54 Число просмотров: 4625
Автор: amirul <Serge> Статус: The Elderman
|
> В первом случае считается за 11 микросекунд, результат > 19662705047555291361807590852691211628310345094421476692731 > 5415537966391196809. Естественно не первый.
> Во втором случае (тут начали раздаваться выкрики > сочувствующих из зала), что по оценочным прикидкам > 9^387420489 больше чем Mathematica's $MaxNumber. Не знаю, какой там макснамбер у математики, но это число имеет порядка 300М десятичных знаков, занимает в памяти примерно 150 мегабайт.
> Ты ничего не напутал в своём тестировании? И ещё, если есть > возможность, pls, дай исходники твоего теста. Так как ждать довольно долго, вводил элемент интерактивности - просто для примерного эстимейта сколько же осталось. Вот схема:
(define (expt/interactive base exp)
(let loop ([n 1][b base][e exp])
(display e)(newline)
(if (zero? e)
n
(loop (if (zero? (remainder e 2)) n (* n b))
(* b b)
(quotient e 2)))))
(define n (expt/interactive 9 387420489)) ---
В n после работы этой программы будет искомое число. Но распечатать его все равно не получится. В случае gmp можно пользоваться напрямую функцией экпонирования - никакая интерактивность при минутной задержке не нужна, но можно и переписать тот простенький цикл, который приведен выше.
|
|
|