Curieux, en effet... Je n'ai pas trouvé d'explication, mais, du coup, j'ai retravaillé mes précédentes propositions en les enrichissant de quelques-unes de vos idées, notamment l'utilisation du type
Currency. J'obtiens quelques améliorations de performance :
2[SUP]30 000[/SUP] (9 031 chiffres) en 0,25 s.
2[SUP]100 000[/SUP] (30 103 chiffres) en 2,5 s.
2000 ! (5 736 chiffres) en 1,2 s.
3278 ! (10 103 chiffres) en 3,6 s.
Les fonctions sont dans le classeur joint. J'y ai adjoint le calcul du n[SUP]ième[/SUP] terme de la suite du Fibonacci. Par exemple :
F[SUB]100 000[/SUB] (20 899 chiffres) en 3,6 s.
F[SUB]1 000 000[/SUB] (208 988 chiffres !) en moins de six minutes.
D'autre part, cette discussion m'a fait souvenir d'un exercice amusant du temps (ancien, hélas !) où, jeune morveux, je faisais ma propédeutique.
Car avant d'être un vieux con, je fus un jeune morveux.
Il s'agissait de démontrer ces deux théorèmes :
- Étant donnée une séquence de chiffres décimaux arbitrairement choisie, il existe une puissance de deux dont l'écriture en base dix contient cette séquence.
- Plus fort, il existe une puissance de deux dont l'écriture en base dix commence par cette séquence.
(Je laisse le plaisir de la démonstration aux amateurs de ces belles choses ; en cas de difficulté, votre professeur de mathématiques préféré vous règlera cela en deux temps trois mouvements...)
Par exemple et au hasard, le cas de la séquence
2327 se résout presque instantanément :
- 2[SUP]383[/SUP] = 19701003098197239606139520050071806902539869635232723333974146702122860885748605305707133127442457820403313995153408
- 2[SUP]6 861[/SUP] = 23270207214694213556696440543218667015389378259712190988844574005420492465849235791212919309302471972645135700700358776169781942467313150376297116764815503632573189331236793719795331350518744993409895892612535309868778617702252752341377459611210861080338021531215266976740218827381147854681837606195813538687150487225388313171497815106155527846734449995489224908952643193704075244024012088521779050342968436505766424940902017071527983577759739260403882248503070139280208448912537473219769741796226110065545490846835907268821022606688947453724420249051439902882346477417467266740024621156608459954955490973829392850860491435328764506705029943206029829430969005164799914851321992672813565931284327929843760036683762850925333056158893625016357180541239932946531315392886992177536293009683137564732817374555247097085367688283206424739967694275612162754748349436389767682019036267724445798035438168195656755603787253681662472595560041714814871558554058057300816059174480034526904673586646799722559893217355252635324449394786284230613687893622916595101131144144020653954788258409968253846271307308613414063715340227941267103458495784359289114823694827959268114445574159479633001201664148873848174475323152735254103649542057298807463124170015245941625684157219813258451708178798191525973674941280485581170736351847513946037561007215012326869767121663672358696563675587400465707674030075826575715682256772403415724387204210655295562016601260480928534535835709366337837697169003318517851046213111898094531313455131295208794028120264136261203459924270248829076345678619971802932594006872618574055463601707711926874757608563966389290348393449446901380486738244727160947031922932576984726536206607207364813330755190494659320599522101932447610251864358418929588514954872765242422820660278315502886553274482565312670517458124550104457019392469029240405234292883080658258318597904717716429818662513468938487843026637488992943910130186291694343852983549570764021579107607000372055628758781598471903186661148431443873714432534850981749383388230688173701946515703124068127171204349952
C'est assez spectaculaire. Et pas toujours aussi simple... La plus petite puissance de deux dont l'écriture décimale commence par 999900 est 2[SUP]100 000[/SUP], qui s'écrit avec 30 103 chiffres
(obtenus en 9 minutes).
On trouvera d'autres exemples dans le classeur.
P. s. : Pour une version
, voir le message suivant.