]]> ]]>

GNU bc

Реализация языка программирования bc

Реализация bc от Free Software Foundation.

Примеры:

Факториал:

Пример для версий GNU bc 1.06

Используется рекурсивное определение факториала.

#! /usr/bin/env bc
define factorial(n) {
    if (n == 0) return(1);
    return(n * factorial(n - 1));
}

for (n = 0; n <= 16; n++) {
    print n; "! = "; factorial(n);
}
quit

Hello, World!:

Пример для версий GNU bc 1.06
print "Hello, World!\n";

Числа Фибоначчи:

Пример для версий GNU bc 1.06

Используется рекурсивное определение чисел Фибоначчи.

define fibonacci(n) {
    if (n <= 2) return(1);
    return(fibonacci(n-1)+fibonacci(n-2));
}
 
for (n = 1; n <= 16; n++) {
    print fibonacci(n); ", "
}
print "..."
quit

Числа Фибоначчи:

Пример для версий GNU bc 1.06

Используется формула Бине. Следует отметить, что bc — калькулятор произвольной точности, поэтому выводить числа приходится с округлением до целого. Для этого устанавливается точность 0 знаков после десятичной точки, и x округляется вручную (встроенной функции округления в bc нет).

for (n = 1; n <= 16; n++) {
    scale = 10
    x = (((1 + sqrt(5)) * .5) ^ n - ((1 - sqrt(5)) * .5) ^ n) / sqrt(5)
    scale = 0
    print (x+0.5)/1; ", "
}
print "..."

Комментарии

]]>

blog comments powered by Disqus

]]>

Работа программистам