What is the sum of 0.1+ 0.01+ 0.002+ 0.0003+ 0.00005+ 0.000008+ ..., where each term is the n-th Fibonacci number, shifted n places to the right (that is, divided by 10^n)?
The following program evaluates the number numerically:
10 F1=1:F2=1:Pwr=0.01
15 Tot=0.11
20 while Pwr>0
30 F3=F1+F2
35 PPwr=Pwr
40 Pwr=Pwr/10
50 Tot=Tot+F3*Pwr
60 F1=F2:F2=F3
70 print Tot
80 wend
90 print F1,int(-log(PPwr)/log(10)),int(-log(F1)/log(10)-log(PPwr)/log(10))
The line at the end is to determine how far we should trust the digits. At the end the result came out to
0.11235955056179775280898876404494382022471910112359550561797752808988764044943
82022471910112359550561797752808988764044943820224719101123595505617977528089887
64044943820224719101123595505617977528089887640449438202247191011235955056179775
28089887640449438202247191011235955056179775280898876404494382022471910112359550
56179775280898876404494382022471910112359550561797752808988764044943820224719101
12359550561797752808981346369378435976616688544876988124563923280800830811853429
4960708947265397738129336674012899278557170886817407
but the last Fibonacci number used was
160315934185614122473327276500131314855604135915469629507118909263076087590471022644452597131283888029087109729
a 112-digit number so only the first 418 digits of the 529 shown can be relied upon.
But the sequence
1123595505617977528089887640449438202247191011235955056179775280898876404494382022471910
repeats every 88 digits, so this is a repeating decimal, or rational number. Its value can be obtained by dividing by a number with the same number of 9's:
1123595505617977528089887640449438202247191011235955056179775280898876404494382022471910
/ 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999, which simplifies to 10/89.
So that seems to be the answer. I can't imagine that its rationality is dependent on using the decimal system. What if base 12 were used instead? Using the same procedure, but with base-12 instead (the following program):
10 F1=1:F2=1:Pwr=1/144
15 Tot=0.11
20 while Pwr>0
30 F3=F1+F2
35 PPwr=Pwr
40 Pwr=Pwr/12
50 Tot=Tot+F3*Pwr
60 F1=F2:F2=F3
70 print Tot
80 wend
90 print F1,int(-log(PPwr)/log(10)),int(-log(F1)/log(10)-log(PPwr)/log(10))
we get (expressed in decimal)
0.11132527565733672603901611535199321458863443596268023748939779474130619168787
10771840542832909245122985581000848176420695504664970313825275657336726039016115
35199321458863443596268023748939779474130619168787107718405428329092451229855810
00848176420695504664970313825275657336726039016115351993214588634435962680237489
39779474130619168787107718405428329092451229855810008481764206955046649703138252
75657336726039016115351993214539528242197440257200534106692895027679907764301385
4904136219838894999408607569446402474177970832755162
with 426 positions reliable. After the 0.1113, the digits
2527565733672603901611535199321458863443596268023748939779474130
619168787107718405428329092451229855810008481764206955046649703138
repeat, so we get
2527565733672603901611535199321458863443596268023748939779474130
619168787107718405428329092451229855810008481764206955046649703138
/ 9999999999999999999999999999999999999999999999999999999999999999
999999999999999999999999999999999999999999999999999999999999999999
= 298/1179
And we combine that with the first 0.1113 via: 298/11790000 + 1113/10000 = 52501/471600.
But that is the decimal representation when the number was formed in base-12.
The answer to the current problem is 10/89.
|
Posted by Charlie
on 2005-03-09 20:06:38 |