Re: 2^500

From
Sergey Andrianov (2:5020/1507.400)
To
Vladislav Terehov
Date
2002-09-19T09:00:06Z
Area
RU.ALGORITHMS
Здравствуй, Vladislav!

Однажды 17-Sep-02  в 18:15   Vladislav Terehov (2:5030/1307.25)
написал       All    по поводу
-=-   2^500  -=-

VT> Самый быстpый/самый компкактный (в плане пожиpания pесуpсов) алгоpитм, для 
VT> поэтапного вычисления и печати кусков сабжевого выpажения (2 в 500й 
VT> степени) на экpане в десятеpичной системе счисления кто подскажет?

	Думаю, что "вычисление" здеесь излишне. Нужно просто перевести известное число (надеюсь понятно, почему 2^500 в двоичной системе вычислять не нужно) из одной системы счисления (двоичной, восьмеричной или шестнадцатиричной) в десятичную. 
	Для этого нужна процедура, умеющая находить частное и остаток двух длинных чисел. Т.к. процедура неизбежно получится ресурсоемкой, то, чтобы сократить объем вычислений я бы попытался применить реукурсивный алгоритм с делением числа примерно на корень из него, а затем по тому же алгоритму обрабатывать частное и остаток.
	То есть найти степень 10 примерно равную 2^250 и поделить на нее, затем частное и остаток на прмерно 10^125, и т.д.

                  До свидания,  в  08:51 MSK
                                 Sergey

---
 * Origin: Sergiev Posad (2:5020/1507.400)