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,10 @@
go =>
println([fib_fun(I) : I in 1..10]),
F1=fib_fun(2**10),
println(f1=F1),
nl.
table
fib_fun(0) = 0.
fib_fun(1) = 1.
fib_fun(N) = fib_fun(N-1) + fib_fun(N-2).

View file

@ -0,0 +1,10 @@
fib_array(0,[0]).
fib_array(1,[0,1]).
fib_array(N,A) :-
N > 1,
A = new_array(N),
A[1] = 1,
A[2] = 1,
foreach(I in 3..N)
A[I] = A[I-1] + A[I-2]
end.

View file

@ -0,0 +1,8 @@
fib_loop(N) = Curr =>
Curr = 0,
Prev = 1,
foreach(_I in 1..N)
Tmp = Curr,
Curr := Curr + Prev,
Prev := Tmp
end.

View file

@ -0,0 +1 @@
fib_formula(N) = round((0.5 + 0.5*sqrt(5))**N / sqrt(5)).

View file

@ -0,0 +1,9 @@
go =>fib_lazy(X),
A = new_list(15),
append(A,_,X),
println(A),
fib_lazy([0,1|X]) :-
ffib(0,1,X).
ffib(A,B,X) :-
freeze(X, (C is A+B, X=[C|Y], ffib(B,C,Y)) ).

View file

@ -0,0 +1,10 @@
go =>
take(15, $fib_gen(0,1), $T-[], _G),
println(T).
take( 0, Next, Z-Z, Next).
take( N, Next, [A|B]-Z, NZ):- N>0, !, next( Next, A, Next1),
N1 is N-1,
take( N1, Next1, $B-Z, NZ).
next( fib_gen(A,B), A, fib_gen(B,C)):- C is A+B.

View file

@ -0,0 +1,27 @@
import cp.
go =>
N1 = 30,
fib_rev(30,F1),
println([n1=N1,fib1=F1]),
F2 #= 20365011074,
fib_rev(N2,F2),
println([n2=N2,f2=F2]),
F3 = 61305790721611591,
fib_rev(N3,F3),
println([n3=N3,F3]),
nl.
table
fib_rev(0,1).
fib_rev(1,1).
fib_rev(N,F) :-
N #> 0,
F #> 0,
N1 #= N-1,
N2 #= N-2,
fib_rev(N1,F1),
fib_rev(N2,F2),
F #= F1+F2.