Օրեր առաջ սա էի նայում
ու ահագին ոգեւորուեցի այդ Ֆիբոնաչչիի թուերով, շատ հաւէսն են (։ եւ որոշեցի մի սկրիպտ գրել, որին տալիս ես թէ ֆիբոնաչչիի թուերի որ մէկն ես ուզում, ու ինքը տպում է այն, լաւ։
ուրեմն սա կոդն է.
import sys
def fibonacci(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fibonacci(n-1) + fibonacci(n-2)
print fibonacci(int(sys.argv[1]))
օրինակ եթէ հրամայեմ
python2.7 fibonacci_recursive.py 10
55
ու գնալով բարձրանում էի, բայց զգացի թէ գնալով դանդաղանում է պատասխան տալը։ հմմ։
եթէ անենք
time python2.7 fibonacci_recursive.py 40
ստանում ենք
102334155
real    1m47.263s
user    1m47.104s
sys 0m0.048s
այսինքն 40-րդ թիւը ցոյց տալու համար, փայթընին պէտք է 1 րոպէ 47 վայրկեան։ լաւ։ Լիլիթը ինձ ասեց, որ բացի ռեկուրսիւ ձեւից, կայ նաեւ Մաթրիքսի Ֆորմը։
որոշեցի դա էլ փորձել
հիմայ միւսը.
import sys
def fib(n):
    a, b = 0, 1
    for i in range(n):
        a, b = b, a+b
    return a+b
print fib(int(sys.argv[1]))
հիմայ սա աշխատեցնենք.
time python2.7 fibonacci_matrix.py 38
ստանում ենք.
102334155
real    0m0.018s
user    0m0.016s
sys 0m0.000s
լաւ, ահագին արագ է արդէն, բնականաբար ։Ճ բայց…
Որոշեցի մի հատ էլ նոյնը անել Օբերոնով։
Մօտ մի ամբողջ օր չարչարուելուց յետոյ, ինձ ահագին օգնեցին IRCում, եւ վերջում նորայրը մի կարեւոր բան յուշեց, եւ վերջում ստացայ.
MODULE fibonacci;
IMPORT ulmIO;
VAR
n : INTEGER;
PROCEDURE fib* (n : INTEGER) : INTEGER;
    VAR result : INTEGER;
BEGIN
    IF n = 0 THEN
        result := 0
    ELSIF n = 1 THEN
        result:= 1
    ELSE
        result := fib(n-1) + fib(n-2)
    END;
RETURN result
END fib;
BEGIN
ulmIO.WriteInt(fib(40));
ulmIO.WriteLn;
END fibonacci.
օքեյ, քոմփայլ ենք անում (էս իմ ամենասիրած մասն ա, էն գունաւոր աութփութը որ անում ա վոկը ։Ճ)
/opt/voc/bin/voc -m fibonacci.Mod
GNU x86_64 target
not using voc.par file
fibonacci.Mod  translating fibonacci  main program    541
gcc  fibonacci.c -o fibonacci  -fPIC -g -I /opt/voc-1.0.1/src/lib/system/linux/gcc/x86_64 -I /opt/voc-1.0.1/lib/voc/obj   -lVishapOberon -L. -L/opt/voc-1.0.1/lib
եւ ահա աշխատեցնում ենք (։
time ./fibonacci
102334155
real    0m1.957s
user    0m1.952s
sys 0m0.000s
ու տենց։
