3^3^3

From
Sergey Andrianov (2:5017/13.40)
To
Sergei Frolov
Date
2000-02-28T08:56:47Z
Area
RU.ALGORITHMS
                Здравствyй, yважаемый Sergei!

 Недавно, Вcк Фев 27 2000 в 10:25, некто Sergei Frolov
 писал All по поводy 3^3^3 :

 SF>    Сравнивая вычисления функций в микрокалькуляторах с разбором
 SF> формулы, я обнаружил интересный факт, когда калькулятор просили
 SF> вычислить выражение 3^3^3.
 SF>    Калькуляторы CASIO (модели CFX-9850G, fx-991W) вычислили это
 SF> выражение как (3^3)^3 = 19683.
 SF>    Калькуляторы от Texas Instruments (TI-89) и Hewlett Packard (HP-49)
 SF> показали результат как    3
 SF>                 3
 SF>                3    = 7625597484987, то есть 3^(3^3).
 SF>    Достав из закромов старый добрый QBasic, я обнаружил, что он
 SF> вычисляет 3^3^3 с результатом 19683.
 SF>    Интересно, а как должно быть на самом деле? Я больше склоняюсь ко
 SF> второму варианту вычислений.

   Если записать выражение в нормальном виде, то вопрос сразу разрешится сам собой. Друими словами, возникающая неопределенность есть прямое следствие СПОСОБА ЗАПИСИ выражений, принятого в языках программирования (и в компьютерных текстовых файлах вообще). Поэтому и ориентироваться следует на стандарты, принятые именно в трансляторах ЯВУ. Исторически первым стандатром на вычислительный ЯВУ был ФОРТРАН, в котором вычисление степеней производилось справа-налево, т.е. x^y^z = x^(y^z), или в "родном" синтаксисе: x**y**z=x**(y**z). :)

                                    Не прощаюсь
                                            Sergey

--- ---  Да будет свет !  ---
 * Origin: Sergiev Posad <Ferma> Sergey Andrianov (2:5017/13.40)