Data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 7387c8f97b
commit cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions

View file

@ -0,0 +1,8 @@
% recursive
function fibo = recfibo(n)
if ( n < 2 )
fibo = n;
else
fibo = recfibo(n-1) + recfibo(n-2);
endif
endfunction

View file

@ -0,0 +1,4 @@
% testing
for i = 0 : 20
printf("%d %d\n", i, recfibo(i));
endfor

View file

@ -0,0 +1,16 @@
% iterative
function fibo = iterfibo(n)
if ( n < 2 )
fibo = n;
else
f = zeros(2,1);
f(1) = 0;
f(2) = 1;
for i = 2 : n
t = f(2);
f(2) = f(1) + f(2);
f(1) = t;
endfor
fibo = f(2);
endif
endfunction

View file

@ -0,0 +1,4 @@
% testing
for i = 0 : 20
printf("%d %d\n", i, iterfibo(i));
endfor

View file

@ -0,0 +1,3 @@
function retval = fibanalytic(n)
retval = round(((5 .^ 0.5 + 1) / 2) .^ n / 5 .^ 0.5);
endfunction

View file

@ -0,0 +1,7 @@
function retval = fibtailrecursive(n, prevfib = 0, fib = 1)
if (n == 0)
retval = prevfib;
else
retval = fibtailrecursive(n - 1, fib, prevfib + fib);
endif
endfunction