X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=testub10.git;a=blobdiff_plain;f=gesamt%2Fcodeb_georg_fib_043.0;fp=gesamt%2Fcodeb_georg_fib_043.0;h=4db524a74f983f7d379e764c4d8a0b4f94d69ab2;hp=0000000000000000000000000000000000000000;hb=029401d51612c5e69d7ac8603e1b69cd7ed6ef96;hpb=bf19094ac2573112418701ba4c6abf5779e3a9f7 diff --git a/gesamt/codeb_georg_fib_043.0 b/gesamt/codeb_georg_fib_043.0 new file mode 100644 index 0000000..4db524a --- /dev/null +++ b/gesamt/codeb_georg_fib_043.0 @@ -0,0 +1,22 @@ +/* fibonacci */ + +/* F_0 = 0 */ +/* F_1 = 1 */ +/* F_n = F_{n-1} + F_{n-2} */ + +struct f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 end; + +method fib(x) + var t := this; + if x < 0 then return -1; end; t.f0 := 0; + if x < 1 then return f0; end; t.f1 := 1; + if x < 2 then return f1; end; t.f2 := t.f0-(0-t.f1); t := t--8; + if x < 3 then return f2; end; t.f2 := t.f0-(0-t.f1); t := t--8; + if x < 4 then return f3; end; t.f2 := t.f0-(0-t.f1); t := t--8; + if x < 5 then return f4; end; t.f2 := t.f0-(0-t.f1); t := t--8; + if x < 6 then return f5; end; t.f2 := t.f0-(0-t.f1); t := t--8; + if x < 7 then return f6; end; t.f2 := t.f0-(0-t.f1); t := t--8; + if x < 8 then return f7; end; t.f2 := t.f0-(0-t.f1); t := t--8; + if x < 9 then return f8; end; t.f2 := t.f0-(0-t.f1); t := t--8; + return f9; +end;