Data update

This commit is contained in:
Ingy döt Net 2024-03-06 22:25:12 -08:00
parent ed705008a8
commit 0df55f9f24
2196 changed files with 32999 additions and 3075 deletions

View file

@ -0,0 +1,20 @@
:import std/Combinator .
:import std/Math .
:import std/List .
# unary/Church fibonacci (moderately fast but very high space complexity)
fib-unary [0 [[[2 0 [2 (1 0)]]]] k i]
:test (fib-unary (+6u)) ((+8u))
# ternary fibonacci using infinite list iteration (very fast)
fib-list \index fibs
fibs head <$> (iterate &[[0 : (1 + 0)]] ((+0) : (+1)))
:test (fib-list (+6)) ((+8))
# recursive fib (very slow)
fib-rec y [[0 <? (+1) (+0) (0 <? (+2) (+1) rec)]]
rec (1 --0) + (1 --(--0))
:test (fib-rec (+6)) ((+8))

View file

@ -0,0 +1,8 @@
> :time fib-list (+1000)
0.9 seconds
> :time fib-unary (+50u)
1.7 seconds
> :time fib-rec (+25)
5.1 seconds
> :time fib-list (+50)
0.0006 seconds

View file

@ -1,14 +1,17 @@
START ;First 10 Fibonacci NUmbers
; Redone to include the first two values that
; are noot computed.
START ;First 15 Fibonacci NUmbers
RECORD
FIB1, D10, 0
FIB2, D10, 1
FIBNEW, D10
LOOPCNT, D2, 1
LOOPCNT, D2, 3
RECORD HEADER
, A32, "First 10 Fibonacci Numbers."
, A32, "First 15 Fibonacci Numbers."
RECORD OUTPUT
LOOPOUT, A2
@ -21,6 +24,17 @@
WRITES(8,HEADER)
; The First Two are given.
FIBOUT = 0
LOOPOUT = 1
WRITES(8,OUTPUT)
FIBOUT = 1
LOOPOUT = 2
WRITES(8,OUTPUT)
; The Rest are Computed.
LOOP,
FIBNEW = FIB1 + FIB2
LOOPOUT = LOOPCNT, 'ZX'
@ -32,7 +46,7 @@
FIB2 = FIBNEW
LOOPCNT = LOOPCNT + 1
IF LOOPCNT .LE. 10 GOTO LOOP
IF LOOPCNT .LE. 15 GOTO LOOP
CLOSE 8
END

View file

@ -9,7 +9,7 @@ fibu(n)
}
else
{
for(int i := 2, i <= n, i+=1)
for(int i := 2; i <= n; i+=1)
{
int t := ac[1];
ac[1] := ac[0] + ac[1];
@ -22,7 +22,7 @@ fibu(n)
public program()
{
for(int i := 0, i <= 10, i+=1)
for(int i := 0; i <= 10; i+=1)
{
console.printLine(fibu(i))
}

View file

@ -26,7 +26,7 @@ public program()
{
auto e := new FibonacciGenerator();
for(int i := 0, i < 10, i += 1) {
for(int i := 0; i < 10; i += 1) {
console.printLine(e.next())
};

View file

@ -0,0 +1,6 @@
fib : Int -> number
fib n =
case n of
0 -> 0
1 -> 1
_ -> fib (n-1) + fib (n-2)

View file

@ -1,4 +1,17 @@
to fib :n [:a 0] [:b 1]
if :n < 1 [output :a]
output (fib :n-1 :b :a+:b)
to fib "loop
make "fib1 0
make "fib2 1
type [You requested\ ]
type :loop
print [\ Fibonacci Numbers]
type :fib1
type [\ ]
type :fib2
type [\ ]
make "loop :loop - 2
repeat :loop [ make "fibnew :fib1 + :fib2 type :fibnew type [\ ] make "fib1 :fib2 make "fib2 :fibnew ]
print [\ ]
end

View file

@ -0,0 +1,7 @@
fibbonachi = func(x) : fibb
{
res = 1;
if (x > 1)
res = fibb(x - 1) + fibb(x - 2);
res;
}

View file

@ -0,0 +1,26 @@
program Fibonacci
#
integer*4 count, loop
integer*4 num1, num2, fib
1 format(A)
2 format(I4)
3 format(I6,' ')
4 format(' ')
write(6,1,advance='no')'How Many: '
read(5,2)count
num1 = 0
num2 = 1
write(6,3,advance='no')num1
write(6,3,advance='no')num2
for (loop = 3; loop<=count; loop=loop+1)
{
fib = num1 + num2
write(6,3,advance='no')fib
num1 = num2
num2 = fib
}
write(6,4)
end

View file

@ -0,0 +1,12 @@
$ENTRY Go {
= <Prout <Repeat 18 Fibonacci 1 1>>
} ;
Repeat {
0 s.F e.X = e.X;
s.N s.F e.X = <Repeat <- s.N 1> s.F <Mu s.F e.X>>;
};
Fibonacci {
e.X s.A s.B = e.X s.A s.B <+ s.A s.B>;
};

View file

@ -1,4 +1,7 @@
loop [a 0, b 1, i 1 ]:
say: a
(i < 10) ?:
^^^: b, (a + b), (i + 1)
!yamlscript/v0
defn main(n=10):
loop [a 0, b 1, i 1]:
say: a
if (i < n):
recur: b, (a + b), (i + 1)