Факториал в REXX
Пример для версий
Regina 3.3
В примере используется рекурсивное определение факториала.
REXX позволяет установить произвольную точность вычислений. В данном случае 14 знаков необходимо для того, чтобы все факториалы выводились как целые числа. Без первой строки факториалы, начиная с 13!, выводятся как числа с плавающей точкой.
Конкатенация строк может выполняться оператором ||
или в неявном виде при последовательном перечислении величин и констант. Если величины разделены пробелами, эти пробелы добавляются и в итоговую строку.
Слово procedure
в определении функции необязательно; оно указывает на то, что переменные подпрограммы локальны; в противном случае они будут глобальными в пределах программы.
numeric digits 14
do n = 0 to 16
say n"! = "factorial(n)
end
exit
factorial: procedure
parse arg n .
if n = 0 then
n = 1
else
n = n * factorial(n - 1)
return n
Комментарии
]]>blog comments powered by Disqus
]]>