27 lines
697 B
Text
27 lines
697 B
Text
procedure main(A)
|
|
n := integer(A[1]) | 37
|
|
write(right("N",4)," ",right("length",15)," ",left("Entrophy",15)," ",
|
|
" Fibword")
|
|
every w := fword(i := 1 to n) do {
|
|
writes(right(i,4)," ",right(*w,15)," ",left(H(w),15))
|
|
if i <= 8 then write(": ",w) else write()
|
|
}
|
|
end
|
|
|
|
procedure fword(n)
|
|
static fcache
|
|
initial fcache := table()
|
|
/fcache[n] := case n of {
|
|
1: "1"
|
|
2: "0"
|
|
default: fword(n-1)||fword(n-2)
|
|
}
|
|
return fcache[n]
|
|
end
|
|
|
|
procedure H(s)
|
|
P := table(0.0)
|
|
every P[!s] +:= 1.0/*s
|
|
every (h := 0.0) -:= P[c := key(P)] * log(P[c],2)
|
|
return h
|
|
end
|