n = 1000 dim actual(n) for nr = 1 to n num$ = str$(fibonacci(nr)) j = val(left$(num$,1)) actual(j) = actual(j) + 1 next print "First 1000 Fibonacci numbers" print "Digit ", "Actual freq ", "Expected freq" for i = 1 to 9 freq = frequency(i)*100 print i using("###"), " ", (actual(i)/10) using("##.###"), " ", freq using("##.###") next end sub frequency(n) return (log10(n+1) - log10(n)) end sub sub log10(n) return log(n) / log(10) end sub sub fibonacci(n) local n1, n2, k, sum n1 = 0 n2 = 1 for k = 1 to abs(n) sum = n1 + n2 n1 = n2 n2 = sum next k if n < 0 then return n1 * ((-1) ^ ((-n) + 1)) else return n1 end if end sub