02-16-2017, 08:29 PM
Quoting from Wikipedia:
"The reciprocal Fibonacci constant, or ψ, is defined as the sum of the reciprocals of the Fibonacci numbers:
\(\psi = \sum_{k=1}^{\infty} \frac{1}{F_k} = \frac{1}{1} + \frac{1}{1} + \frac{1}{2} + \frac{1}{3} + \frac{1}{5} + \frac{1}{8} + \frac{1}{13} + \frac{1}{21} + \cdots.\) "
Our task is to write a program, the shortest the best, to compute the partial sums of this series from k=1 up to a given n. For instance, on the HP 50g, assuming the program is named RFC:
1 RFC --> 1.
2 RFC --> 2.
3 RFC --> 2.5
4 RFC --> 2.83333333333
5 RFC --> 3.03333333333
6 RFC --> 3.15833333333
7 RFC --> 3.23525641025
Convergence to d-digit results occurs when n is around ⌈(d*ln(100) - ln(20))/(2*ln(φ)⌉, where φ is the golden ratio (1.61803398875...). Thus, on the HP-41, we will need at least 46 terms for the exact 10-figure result:
45 XEQ ALPHA RFC ALPHA --> 3.359885665
46 XEQ ALPHA RFC ALPHA --> 3.359885666
On Free42, we can get at least 33 correct digits:
160 XEQ RFC --> 3.35988566624317755317201130291892(3)
By the way, this might be a breeze on the wp34s, which has FIB built in :-)
As a reference, my counts are
HP 50g: 50 bytes
HP-48G: 52.5 bytes
HP-42S: 28 bytes (HP-41 compatible)
HP-41CV: 33 bytes
These are only second (HP-41 & 42), or third (HP-48 and 50 g) attempts, so there surely is room for improvement.
Have fun!
Gerson.
"The reciprocal Fibonacci constant, or ψ, is defined as the sum of the reciprocals of the Fibonacci numbers:
\(\psi = \sum_{k=1}^{\infty} \frac{1}{F_k} = \frac{1}{1} + \frac{1}{1} + \frac{1}{2} + \frac{1}{3} + \frac{1}{5} + \frac{1}{8} + \frac{1}{13} + \frac{1}{21} + \cdots.\) "
Our task is to write a program, the shortest the best, to compute the partial sums of this series from k=1 up to a given n. For instance, on the HP 50g, assuming the program is named RFC:
1 RFC --> 1.
2 RFC --> 2.
3 RFC --> 2.5
4 RFC --> 2.83333333333
5 RFC --> 3.03333333333
6 RFC --> 3.15833333333
7 RFC --> 3.23525641025
Convergence to d-digit results occurs when n is around ⌈(d*ln(100) - ln(20))/(2*ln(φ)⌉, where φ is the golden ratio (1.61803398875...). Thus, on the HP-41, we will need at least 46 terms for the exact 10-figure result:
45 XEQ ALPHA RFC ALPHA --> 3.359885665
46 XEQ ALPHA RFC ALPHA --> 3.359885666
On Free42, we can get at least 33 correct digits:
160 XEQ RFC --> 3.35988566624317755317201130291892(3)
By the way, this might be a breeze on the wp34s, which has FIB built in :-)
As a reference, my counts are
HP 50g: 50 bytes
HP-48G: 52.5 bytes
HP-42S: 28 bytes (HP-41 compatible)
HP-41CV: 33 bytes
These are only second (HP-41 & 42), or third (HP-48 and 50 g) attempts, so there surely is room for improvement.
Have fun!
Gerson.