September 2017 Update

This commit is contained in:
Ingy döt Net 2017-09-23 10:01:46 +02:00
parent bba7bfd280
commit ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions

View file

@ -5,18 +5,17 @@ sequence fcacheba = {BA_ONE,BA_ONE}
function fibonamemba(integer n) -- memoized, works for -ve numbers, yields bigatom
integer absn = abs(n)
if n=0 then return BA_ZERO end if
if absn>length(fcacheba) then
fcacheba = append(fcacheba,ba_add(fibonamemba(absn-1),fibonamemba(absn-2)))
if absn!=length(fcacheba) then ?9/0 end if
end if
while length(fcacheba)<absn do
fcacheba = append(fcacheba,ba_add(fcacheba[$],fcacheba[$-1]))
end while
if n<0 and remainder(n,2)=0 then return ba_sub(0,fcacheba[absn]) end if
return fcacheba[absn]
end function
for i=0 to 30 do
for i=0 to 28 do
if i then puts(1,", ") end if
ba_printf(1,"%B", fibonamemba(i))
if i!=30 then puts(1,", ") end if
end for
puts(1,"\n")
ba_printf(1,"%B", fibonamemba(777))
ba_printf(1,"%B", fibonamemba(705))
puts(1,"\n")