- labels: --> Lisp Core
makelist(cf(sqrt(8)),cflength,1,7) =>
[3, [2, 1, 4], [2, 1, 5], [2, 1, 4, 1, 4], [2, 1, 4, 1, 5], [2, 1, 4, 1, 4, 1, 4], [2, 1, 4, 1, 4, 1, 5]]
There are two problems here.
* The cflength=0 result is not a continued fraction at all, but cf(xxx) is always supposed to return a continued fraction, even for integers: cf(3) => [3].
* cflength=n is documented to mean that you get n periods. The period here is [1,4] (length 2), so the results should be
[2,1,4], [2,1,4,1,4], [2,1,4,1,4,1,4] etc.
compare
makelist(cf(sqrt(3)),cflength,1,7);
=> [[1, 1, 2], [1, 1, 2, 1, 2], [1, 1, 2, 1, 2, 1, 2], ...
Same problem with cf(sqrt(32)), cf(sqrt(27)), etc. On the other hand, cf(2^(3/2)) etc. does NOT cause this problem.
By the way, cflength gives you 1 period, not 0....
not just sqrt(8), there are many others... I've run this expression but I cannot see a clear pattern:
for i:2 thru 10000 do if not listp(cf(sqrt(i))) then display(i, cf(sqrt(i)));
Log in to post a comment.