This is so cool, and we can compute it !

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

This is so cool, and we can compute it !

Sven Van Caekenberghe
This is so cool, and we can compute it using Pharo Smalltalk.

Try inspecting or printing the result of these expressions:

  1/9801 asScaledDecimal: 200

  1/998001 asScaledDecimal: 3000

And have a good look at the regularity in the digits of the fraction.

Amazing !

Sven

Reply | Threaded
Open this post in threaded view
|

Re: This is so cool, and we can compute it !

Stéphane Ducasse
this is probably the result of the constant effort of nicolas and a couple of others :)
On Jan 26, 2012, at 8:44 PM, Sven Van Caekenberghe wrote:

> This is so cool, and we can compute it using Pharo Smalltalk.
>
> Try inspecting or printing the result of these expressions:
>
>  1/9801 asScaledDecimal: 200
>
>  1/998001 asScaledDecimal: 3000
>
> And have a good look at the regularity in the digits of the fraction.
>
> Amazing !
>
> Sven
>


Reply | Threaded
Open this post in threaded view
|

Re: This is so cool, and we can compute it !

Nicolas Cellier
This is probably the fact that some lispers had the idea of
representing integers of arbitrary length then fraction with infinite
precision in the machine.

This inspired a post
http://smallissimo.blogspot.com/2012/01/which-fraction-has-these-digits.html

Nicolas

2012/1/27 Stéphane Ducasse <[hidden email]>:

> this is probably the result of the constant effort of nicolas and a couple of others :)
> On Jan 26, 2012, at 8:44 PM, Sven Van Caekenberghe wrote:
>
>> This is so cool, and we can compute it using Pharo Smalltalk.
>>
>> Try inspecting or printing the result of these expressions:
>>
>>  1/9801 asScaledDecimal: 200
>>
>>  1/998001 asScaledDecimal: 3000
>>
>> And have a good look at the regularity in the digits of the fraction.
>>
>> Amazing !
>>
>> Sven
>>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: This is so cool, and we can compute it !

Sven Van Caekenberghe

On 27 Jan 2012, at 10:34, Nicolas Cellier wrote:

> This is probably the fact that some lispers had the idea of
> representing integers of arbitrary length then fraction with infinite
> precision in the machine.
>
> This inspired a post
> http://smallissimo.blogspot.com/2012/01/which-fraction-has-these-digits.html

Cool!

I did of course not find this myself, I read it here

http://www.iheartchaos.com/post/16393143676/fun-with-math-dividing-one-by-998001-yields-a

who read it here

http://www.geekosystem.com/one-divided-by-998001/

who read it here

http://www.futilitycloset.com/2012/01/08/math-notes-76/

But I really don't know if that last person invented it.


Reply | Threaded
Open this post in threaded view
|

Re: This is so cool, and we can compute it !

NorbertHartl
In reply to this post by Sven Van Caekenberghe

Am 26.01.2012 um 20:44 schrieb Sven Van Caekenberghe:

> This is so cool, and we can compute it using Pharo Smalltalk.
>
> Try inspecting or printing the result of these expressions:
>
>  1/9801 asScaledDecimal: 200
>
>  1/998001 asScaledDecimal: 3000
>
> And have a good look at the regularity in the digits of the fraction.
>
I think I've found a bug. Mine ends with

...

990991992993994995996997999000s3000

You can see after 997 there is 999. :)

Norbert


Reply | Threaded
Open this post in threaded view
|

Re: This is so cool, and we can compute it !

Sven Van Caekenberghe

On 27 Jan 2012, at 11:08, Norbert Hartl wrote:

I think I've found a bug. Mine ends with

...

990991992993994995996997999000s3000

You can see after 997 there is 999. :)

Yeah, the decimals printed in blocks look like this:

000001002003004005006007008009
010011012013014015016017018019
020021022023024025026027028029
030031032033034035036037038039
040041042043044045046047048049
050051052053054055056057058059
060061062063064065066067068069
070071072073074075076077078079
080081082083084085086087088089
090091092093094095096097098099
100101102103104105106107108109
110111112113114115116117118119
120121122123124125126127128129
130131132133134135136137138139
140141142143144145146147148149
150151152153154155156157158159
160161162163164165166167168169
170171172173174175176177178179
180181182183184185186187188189
190191192193194195196197198199
200201202203204205206207208209
210211212213214215216217218219
220221222223224225226227228229
230231232233234235236237238239
240241242243244245246247248249
250251252253254255256257258259
260261262263264265266267268269
270271272273274275276277278279
280281282283284285286287288289
290291292293294295296297298299
300301302303304305306307308309
310311312313314315316317318319
320321322323324325326327328329
330331332333334335336337338339
340341342343344345346347348349
350351352353354355356357358359
360361362363364365366367368369
370371372373374375376377378379
380381382383384385386387388389
390391392393394395396397398399
400401402403404405406407408409
410411412413414415416417418419
420421422423424425426427428429
430431432433434435436437438439
440441442443444445446447448449
450451452453454455456457458459
460461462463464465466467468469
470471472473474475476477478479
480481482483484485486487488489
490491492493494495496497498499
500501502503504505506507508509
510511512513514515516517518519
520521522523524525526527528529
530531532533534535536537538539
540541542543544545546547548549
550551552553554555556557558559
560561562563564565566567568569
570571572573574575576577578579
580581582583584585586587588589
590591592593594595596597598599
600601602603604605606607608609
610611612613614615616617618619
620621622623624625626627628629
630631632633634635636637638639
640641642643644645646647648649
650651652653654655656657658659
660661662663664665666667668669
670671672673674675676677678679
680681682683684685686687688689
690691692693694695696697698699
700701702703704705706707708709
710711712713714715716717718719
720721722723724725726727728729
730731732733734735736737738739
740741742743744745746747748749
750751752753754755756757758759
760761762763764765766767768769
770771772773774775776777778779
780781782783784785786787788789
790791792793794795796797798799
800801802803804805806807808809
810811812813814815816817818819
820821822823824825826827828829
830831832833834835836837838839
840841842843844845846847848849
850851852853854855856857858859
860861862863864865866867868869
870871872873874875876877878879
880881882883884885886887888889
890891892893894895896897898899
900901902903904905906907908909
910911912913914915916917918919
920921922923924925926927928929
930931932933934935936937938939
940941942943944945946947948949
950951952953954955956957958959
960961962963964965966967968969
970971972973974975976977978979
980981982983984985986987988989
990991992993994995996997999000

So, yes it seems the end has a problem.

I think we will have to ask our math genius in residence, Nicolas, to explain this ;-)

Sven
Reply | Threaded
Open this post in threaded view
|

Re: This is so cool, and we can compute it !

Nicolas Cellier
2012/1/27 Sven Van Caekenberghe <[hidden email]>:

>
> On 27 Jan 2012, at 11:08, Norbert Hartl wrote:
>
> I think I've found a bug. Mine ends with
>
> ...
>
> 990991992993994995996997999000s3000
>
> You can see after 997 there is 999. :)
>
>
> Yeah, the decimals printed in blocks look like this:
>
> 000001002003004005006007008009
> 010011012013014015016017018019
> 020021022023024025026027028029
> 030031032033034035036037038039
> 040041042043044045046047048049
> 050051052053054055056057058059
> 060061062063064065066067068069
> 070071072073074075076077078079
> 080081082083084085086087088089
> 090091092093094095096097098099
> 100101102103104105106107108109
> 110111112113114115116117118119
> 120121122123124125126127128129
> 130131132133134135136137138139
> 140141142143144145146147148149
> 150151152153154155156157158159
> 160161162163164165166167168169
> 170171172173174175176177178179
> 180181182183184185186187188189
> 190191192193194195196197198199
> 200201202203204205206207208209
> 210211212213214215216217218219
> 220221222223224225226227228229
> 230231232233234235236237238239
> 240241242243244245246247248249
> 250251252253254255256257258259
> 260261262263264265266267268269
> 270271272273274275276277278279
> 280281282283284285286287288289
> 290291292293294295296297298299
> 300301302303304305306307308309
> 310311312313314315316317318319
> 320321322323324325326327328329
> 330331332333334335336337338339
> 340341342343344345346347348349
> 350351352353354355356357358359
> 360361362363364365366367368369
> 370371372373374375376377378379
> 380381382383384385386387388389
> 390391392393394395396397398399
> 400401402403404405406407408409
> 410411412413414415416417418419
> 420421422423424425426427428429
> 430431432433434435436437438439
> 440441442443444445446447448449
> 450451452453454455456457458459
> 460461462463464465466467468469
> 470471472473474475476477478479
> 480481482483484485486487488489
> 490491492493494495496497498499
> 500501502503504505506507508509
> 510511512513514515516517518519
> 520521522523524525526527528529
> 530531532533534535536537538539
> 540541542543544545546547548549
> 550551552553554555556557558559
> 560561562563564565566567568569
> 570571572573574575576577578579
> 580581582583584585586587588589
> 590591592593594595596597598599
> 600601602603604605606607608609
> 610611612613614615616617618619
> 620621622623624625626627628629
> 630631632633634635636637638639
> 640641642643644645646647648649
> 650651652653654655656657658659
> 660661662663664665666667668669
> 670671672673674675676677678679
> 680681682683684685686687688689
> 690691692693694695696697698699
> 700701702703704705706707708709
> 710711712713714715716717718719
> 720721722723724725726727728729
> 730731732733734735736737738739
> 740741742743744745746747748749
> 750751752753754755756757758759
> 760761762763764765766767768769
> 770771772773774775776777778779
> 780781782783784785786787788789
> 790791792793794795796797798799
> 800801802803804805806807808809
> 810811812813814815816817818819
> 820821822823824825826827828829
> 830831832833834835836837838839
> 840841842843844845846847848849
> 850851852853854855856857858859
> 860861862863864865866867868869
> 870871872873874875876877878879
> 880881882883884885886887888889
> 890891892893894895896897898899
> 900901902903904905906907908909
> 910911912913914915916917918919
> 920921922923924925926927928929
> 930931932933934935936937938939
> 940941942943944945946947948949
> 950951952953954955956957958959
> 960961962963964965966967968969
> 970971972973974975976977978979
> 980981982983984985986987988989
> 990991992993994995996997999000
>
> So, yes it seems the end has a problem.
>
> I think we will have to ask our math genius in residence, Nicolas, to
> explain this ;-)
>
> Sven
Alas, finding maths amusing is not enough to make a genius. It's  just
a pinch of salt.
You can read the blog and try by yourself which fraction lead to this tail

tail := ((0 to: 99) inject: '' writeStream into: [:s :n | n printOn: s
base: base length: 2 padded: true. s]) contents.

It won't be that short a Fraction.

Nicolas

cbc
Reply | Threaded
Open this post in threaded view
|

Re: This is so cool, and we can compute it !

cbc
In reply to this post by NorbertHartl
On Fri, Jan 27, 2012 at 2:08 AM, Norbert Hartl <[hidden email]> wrote:
>...
> I think I've found a bug. Mine ends with
>
> ...
>
> 990991992993994995996997999000s3000
>
> You can see after 997 there is 999. :)
>
I suspect it should be ...997998999 and not ...997999000.
The 'issue' is that ScaledDecimal rounds the the number off that is is printing.
You can find this in ScaledDecimal>>printOn:

-Chris

Reply | Threaded
Open this post in threaded view
|

Re: This is so cool, and we can compute it !

Nicolas Cellier
It could have been a rounding problem, but it's not , the following
digits are 001.
The serie is tailored on purpose, to have a short fraction.

It is based on 12345679/999999999 -> (1/81)
You can also try to evaluate 9801 sqrt in a recent squeak or pharo,
then 998001 sqrt.

Nicolas

2012/1/27 Chris Cunningham <[hidden email]>:

> On Fri, Jan 27, 2012 at 2:08 AM, Norbert Hartl <[hidden email]> wrote:
>>...
>> I think I've found a bug. Mine ends with
>>
>> ...
>>
>> 990991992993994995996997999000s3000
>>
>> You can see after 997 there is 999. :)
>>
> I suspect it should be ...997998999 and not ...997999000.
> The 'issue' is that ScaledDecimal rounds the the number off that is is printing.
> You can find this in ScaledDecimal>>printOn:
>
> -Chris
>