X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=testub10.git;a=blobdiff_plain;f=gesamt%2Fcodeb_georg_fib_042.0;fp=gesamt%2Fcodeb_georg_fib_042.0;h=96c17d7020cc95e9dc625d32923cf64c4e39f20d;hp=0000000000000000000000000000000000000000;hb=029401d51612c5e69d7ac8603e1b69cd7ed6ef96;hpb=bf19094ac2573112418701ba4c6abf5779e3a9f7 diff --git a/gesamt/codeb_georg_fib_042.0 b/gesamt/codeb_georg_fib_042.0 new file mode 100644 index 0000000..96c17d7 --- /dev/null +++ b/gesamt/codeb_georg_fib_042.0 @@ -0,0 +1,21 @@ +/* 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) + if x < 0 then return -1; end; f0 := 0; + if x < 1 then return f0; end; f1 := 1; + if x < 2 then return f1; end; f2 := f0-(0-f1); + if x < 3 then return f2; end; f3 := f1-(0-f2); + if x < 4 then return f3; end; f4 := f2-(0-f3); + if x < 5 then return f4; end; f5 := f3-(0-f4); + if x < 6 then return f5; end; f6 := f4-(0-f5); + if x < 7 then return f6; end; f7 := f5-(0-f6); + if x < 8 then return f7; end; f8 := f6-(0-f7); + if x < 9 then return f8; end; f9 := f7-(0-f8); + return f9; +end;