Fragments (2)

20 novembre 2018

On définit grossièrement la persistence multiplicative par le nombre de fois qu’on peut multiplier les chiffres d’un nombre entre eux jusqu’à ce que le résultat ne comporte qu’un seul chiffre.

Par exemple:

679 ->  6 * 7 * 9 = 378
378 ->  3 * 7 * 8 = 168
168 ->  1 * 6 * 8 = 48
48 ->  4 * 8 = 32
32 ->  3 * 2 = 6

On dira donc que le nombre 679 a une persistence multiplicative de 5.

Le code Pharo ci-bas sert à trouver la persistence multiplicative d’un nombre.

| persistence residu |

"Trouver la persistence multiplicative du nombre 277777788888899"
residu := 277777788888899.

persistence := 0.
[ residu > 9 ]
    whileTrue: [ residu := residu printString 
                               inject: 1 
                               into: [ :mul :each | mul * each digitValue ].
                 persistence := persistence + 1 ].
persistence inspect

Pour des méthodes plus performantes, il y a cet excellent papier (en anglais) qui explique quelques astuces et également celui-ci en français..

 

Publicités

Smalltalk en vrac (4)

31 janvier 2015

Smalltalk

Le tout dernier podcast de Smalltalk Reflections : Garbage Collection.

Squeak

Un package pour l’immutabilité dans Squeak.

Pharo

Pharo a maintenant un bytecode debugger, un rejeton possible grâce au moldable debugger.

La documentation de Pharo (les livres sur Pharo),  est maintenant intégrée au processus de Continuous Integration (CI).  Dans un avenir rapproché, ces livres seront rappatriés à cette adresse.

Roassal sur écran géant!

Mise à jour sur le Rewrite Tool.

L’élégance du code de Pharo.

NBSQLite3 for Pharo : accédez à SQLite pour Pharo. L’annonce ici.

Pour pouvoir communiquer entre deux images, il y a RemoteAnnouncements.

Visualiser les changements dans Pharo 3.0.

SQLite3, GlORP, Pharo et la persistence : les options qui s’offrent à vous.

Phratch

Un nouveau add-on pour les assertions.


Mariano Martinez Peck

6 décembre 2014

Bonne nouvelle!  Après 2 ans d’absence, Mariano Peck a recommencé à bloguer!  Comme à son habitude, le thème central tournera autour de Smalltalk.  Il a l’intention d’aborder des sujets aussi variés que Pharo, Gemstone, la persistence, la machine virtuelle et Seaside sur son blogue..