Magical sums
Hello SeqFans,
Here is S(1) where the sum of any
pair of consecutive terms T1 and T2 is given by T1 to which you
concatenate the first digit of T2:
S(1) = 1, 10, 99, 899, 8099, 72898, 656088, 5904797, 53143178, 478288606, 4304597458, 38741377125, 348672394128, ...
... we thus have 1+10=11
< 1+1 >
10+99=109 < 10+9 >
99+899=998 < 99+8 >
899+8099=8998 < 899+9 >
8099+72898=80997 < 8099+7 >
72898+656088=728986 < 72898+6 >...
So, if you want to impress your little kid, just ask
him to pick any integer of S(1) -- say T(n); then ask
him again: "Do you want me to add this number to the one just before
it in S? Or to the one just after
it?"
Whatever your beta-tester will select, you’ll give him
the answer in a millisecond!
S(1) to S(9) start like this (thanks to Nicolas Graner – more terms by Gilles Esposito-Farèse
below):
S(1) = 1, 10, 99,
899, 8099, 72898,
656088, 5904797, 53143178,
478288606, 4304597458, 38741377125, ...
S(2) = 2, 19, 172,
1549, 13942, 125479, 1129312, 10163809,
91474290, 823268618, 7409417569,
66684758127, ...
S(3) = 3, 29, 263,
2369, 21323, 191908, 1727173, 15544558, 139901023, 1259109208, 11331982873,
101987845858, ...
S(4) = 4, 39, 354,
3189, 28703, 258329, 2324963, 20924669, 188322022, 1694898199, 15254083792,
137286754129, ...
S(5) = 5, 49, 445,
4009, 36084, 324759, 2922833, 26305499, 236749493, 2130745439, 19176708952,
172590380569, ...
S(6) = 6, 59, 536,
4828, 43456, 391107, 3519966, 31679697, 285117275, 2566055477, 23094499295,
207850493657, ...
S(7) = 7, 69, 627,
5648, 50837, 457537, 4117837, 37060536, 333544827, 3001903446, 27017131016,
243154179146, ...
S(8) = 8, 79, 718,
6468, 58217, 523958, 4715626, 42440638, 381965745, 3437691708, 30939225375,
278453028377, ...
S(9) = 9, 89, 809,
7288, 65598, 590387, 5313488, 47821396, 430392568, 3873533115, 34861798038,
313756182345, ...
(...)
Best,
É.
P.-S.(1)
To improve the little "addition trick"
above, one could submit to the poor guinea pig a list where the nine sequences S(1)
to S(9) -- each of one having, say, 15 terms -- follow each other
with no visible interruption between them. If the kid points to an addition
involving a single-digit integer, you’ll make the *real* addition. If he
doesn’t, then the "gluing rule" (left or right) will operate...
P.-S.(2)
All figures in the above mail have been corrected,
thanks to Nicolas.
_________
A few explanations in French (to my
friend Alexandre), followed by the
proof that the seq is infinite (in French also, by Nicolas):
[Éric]:
>
Alexandre, la suite que j’ai envoyée à SeqFans est de
la pure magie ! Elle a été affreusement difficile à concevoir (je croyais que
la tache était impossible) -- puis incroyablement facile à construire (à la
main). Regarde comment on pourrait calculer S(5):
S(5) = 5, 50...
Quel
est le nombre qui, ajouté à 50, se lit 50a ? ("a" = un seul digit)
On
pose une bête addition à trous :
5 0
+
a . .
-----
=
5 0 a
Nous
voulons que le nombre cherché (celui qui commence par "a") soit le
plus petit possible ; on voit que "a" ne peut être égal qu’à 4 ou 5 ;
On
essaie 4 :
5 0
+ 4 . .
-----
=
5 0 4
...
l’addition se complète toute seule de droite à gauche :
5 0
+ 4 . 4
-----
=
5 0 4
puis :
5 0
+ 4 5
4
-----
=
5 0 4
Voilà,
nous avons le nombre qui prolonge S(5) :
S(5) = 5, 50, 454,...
On
voit que 50 + 454 = 504 soit < 50+4 > (concaténés)
Et
maintenant ? On fait la même chose avec 454 !
4
5 4
+ a . . .
-------
= 4
5 4 a
Que
peut valoir "a" ? Pas plus que 4, évidemment -- mais pas moins non
plus (si "a" = 3 on n’arrivera pas, même avec une retenue gagnée sur
l’addition précédente, à obtenir la 4 initial du résultat) :
4
5 4
+ 4
. . .
-------
= 4
5 4 4
L’addition
à trous se complète de D à G facilement :
4
5 4
+ 4 . . 0
-------
= 4
5 4 4
...
puis :
4
5 4
+ 4 . 9 0
-------
= 4
5 4 4
...
puis :
4
5 4
+ 4 0 9
0
-------
= 4
5 4 4
...
voilà : le nombre qui prolonge S(5) est 4090 :
S(5) = 5, 50, 454, 4090,...
On
voit que 454 + 4090 fait bien 4544 soit < 454+4 > (concaténés)
On
enchaîne avec 4090...
4 0 9
0
+ a . . . .
---------
= 4
5 4 4 a
...
où l’on voit vite que "a" ne peut être égal qu’à 4, encore :
4 0 9
0
+ 4
. . . .
---------
= 4
5 4 4 4
...
ce qui donnera, in fine :
4 0 9
0
+ 4 1 3 5
4
---------
= 4
5 4 4 4
...
avec 41354 qui vient prolonger la suite :
S(5) = 5, 50, 454, 4090,
41354,...
Tu
es né en 1952 ? On construit "ta" suite S(1952) !
S(1952) = 1952,...
1 9 5 2
+
a . . . .
---------
= 1
9 5 2 a
...
soit :
1 9 5 2
+ 1
. . . .
---------
= 1
9 5 2 1
...
et :
1 9 5 2
+ 1 7 5 6
9
---------
= 1
9 5 2 1
S(Alexandre) = S(1952)
= 1952, 17569, 158122, 1423099, 12807892, 115271029, 1037439262, 9336953367,
84032580311, 756293222806, ...
Magique,
je vous dis !
__________
[Nicolas Graner] :
As-tu cherché à prouver que ta suite est toujours
définie ? A priori ça ne m’a pas paru évident, mais finalement la réponse est
oui. Je suppose que tu l’as vu (et Gilles aussi, en quelques femtosecondes :) mais voici tout de même mon raisonnement.
On cherche un chiffre A tel que 9S+A commence par A.
Si on prend n’importe quel nombre P et qu’on cherche
un A tel que P+A commence par A :
- la plupart du temps, il suffit de prendre pour A le
premier chiffre de P.
- quand P est de la forme x99...99y avec x+y > 9 et
x < 9, ça ne marche pas avec A=x mais ça marche avec A=x+1
- pour P de la forme 99...99 ça marche avec A=1
- le seul cas qui ne marche pas est la forme 99..99y
avec 0<y<9. Dans ce cas aucun A n’est tel que P+A commence par A.
Mais ce qui nous sauve (et que je n’avais pas réalisé
tout de suite) c’est qu’on ne part pas de n’importe quel P mais de P = 9S, et
qu’un multiple de 9 n’est jamais de cette forme. Donc tout va bien :)
-----
Un point sur lequel je n’ai pas été explicite est que
ce que tu as défini, Eric, n’est pas vraiment une suite mais plutôt une
fonction : à chaque entier on associe un entier unique, qui est le plus petit
ayant une certaine propriété. Bien sûr comme toute fonction on peut l’itérer
pour obtenir une suite, mais la définition n’implique pas de s’inscrire dans
une suite.
J’ai modifié ma page pour qu’elle affiche le
successeur de chaque nombre de 1 à x quand on lui fournit comme paramètre n=0. Exemple :
http://graner.net/nicolas/tmp/magique.php?n=0&x=100
http://graner.net/nicolas/tmp/magique.php?x=1952&n=10
x =
valeur initiale, 1 par défaut
n =
nombre de valeurs à calculer, 15 par défaut
Nicolas
__________
[Gilles Esposito-Farèse] :
Voilà ce que ça
donne en Mathematica.
[En relisant, je vois qu’on pourrait le rendre plus élégant, et je te parie que
Nicolas va me (ou nous) l’écrire, mais l’essentiel est qu’il marche.]
premierChiffre[x_] := IntegerPart[N[x/10^IntegerPart[Log[10,
x]]]];
successeur[x_] :=(
y = 1;
If[premierChiffre[z = 9x+y] == y, z,
y = premierChiffre[9x];
If[premierChiffre[z = 9x+y] == y, z,
y += 1;
If[premierChiffre[z = 9x+y] == y, z,
Print["Bug"]]]]);
NestList[successeur, 1, 50]
S(1) = 1, 10, 99, 899, 8099, 72898, 656088, 5904797,
53143178, 478288606, 4304597458, 38741377125, 348672394128, 3138051547155, 28242463924397,
254182175319575, 2287639577876177, 20588756200885595, 185298805807970356,
1667689252271733205, 15009203270445598846, 135082829434010389615,
1215745464906093506536, 10941709184154841558825, 98475382657393574029434,
886278443916542166264914, 7976505995248879496384233,
71788553957239915467458104, 646096985615159239207122942,
5814872870536433152864106483, 52333855834827898375776958352,
471004702513451085381992625172, 4239042322621059768437933626552,
38151380903589537915941402638971, 343362428132305841243472623750742,
3090261853190752571191253613756681, 27812356678716773140721282523810131,
250311210108450958266491542714291181, 2252800890976058624398423884428620631,
20275208018784527619585814959857585681,
182476872169060748576272334638718271130, 1642291849521546737186451011748464440171,
14780626645693920634678059105736179961540,
133025639811245285712102531951625619653861,
1197230758301207571408922787564630576884750,
10775076824710868142680305088081675191962751,
96975691422397813284122745792735076727664768,
872781222801580319557104712134615690548982920,
7855031005214222876013942409211541214940846287,
70695279046928005884125481682903870934467616590,
636257511422352052957129335146134838410208549316, ...
NestList[successeur, 2, 50]
S(2) = 2, 19, 172, 1549, 13942, 125479, 1129312, 10163809,
91474290, 823268618, 7409417569, 66684758127, 600162823149, 5401465408346,
48613188675118, 437518698076066, 3937668282684597, 35439014544161376,
318951130897452387, 2870560178077071485, 25835041602693643367,
232515374424242790305, 2092638369818185112747, 18833745328363666014724,
169503707955272994132517, 1525533371597456947192654,
13729800344377112524733887, 123568203099394012722604984,
1112113827894546114503444857, 10009024451050915030531003714, 90081220059458235274779033435,
810730980535124117473011300923, 7296578824816117057257101708314,
65669209423345053515313915374832, 591022884810105481637825238373493,
5319205963290949334740427145361442, 47872853669618544012663844308252982,
430855683026566896113974598774276842, 3877701147239102065025771388968491581,
34899310325151918585231942500716424232,
314093792926367267267087482506447818091,
2826844136337305405403787342558030362821,
25441597227035748648634086083022273265391,
228974375043321737837706774747200459388521,
2060769375389895640539360972724804134496691,
18546924378509060764854248754523237210470220,
166922319406581546883688238790709134894231981,
1502300874659233921953194149116382214048087830,
13520707871933105297578747342047439926432790471, 121686370847397947678208726078426959337895114240,
1095177337626581529103878534705842634041056028161, ...
NestList[successeur, 3, 50]
S(3) = 3, 29, 263, 2369, 21323, 191908, 1727173, 15544558,
139901023, 1259109208, 11331982873, 101987845858, 917890612731, 8261015514587,
74349139631290, 669142256681616, 6022280310134550, 54200522791210955,
487804705120898599, 4390242346088087395, 39512181114792786558,
355609630033135079025, 3200486670298215711228, 28804380032683941401054,
259239420294155472609488, 2333154782647399253485394,
20998393043826593281368548, 188985537394439339532316933,
1700869836549954055790852398, 15307828528949586502117671583,
137770456760546278519059044248, 1239934110844916506671531398233,
11159406997604248560043782584098, 100434662978438237040394043256883, 903911966805944133363546389311956,
8135207701253497200271917503807612, 73216869311281474802447257534268515,
658951823801533273222025317808416641, 5930566414213799458998227860275749774,
53375097727924195130984050742481747971, 480375879551317756178856456682335731743,
4323382915961859805609708110141021585691,
38910446243656738250487372991269194271222,
350194016192910644254386356921422748441001,
3151746145736195798289477212292804735969012,
28365715311625762184605294910635242623721110, 255291437804631859661447654195717183613489992,
2297622940241686736953028887761454652521409930,
20678606462175180632577259989853091872692689372,
186107458159576625693195339908677826854234204349,
1674967123436189631238758059178100441688107839142, ...
NestList[successeur, 4, 50]
S(4) = 4, 39, 354, 3189, 28703, 258329, 2324963, 20924669,
188322022, 1694898199, 15254083792, 137286754129, 1235580787162,
11120227084459, 100082043760132, 900738393841197, 8106645544570781,
72959809901137036, 656638289110233330, 5909744601992099975, 53187701417928899780,
478689312761360098024, 4308203814852240882220, 38773834333670167939983,
348964509003031511459850, 3140680581027283603138653,
28266125229245552428247879, 254395127063209971854230913,
2289556143568889746688078219, 20606005292120007720192703973,
185454047629080069481734335758, 1669086428661720625335609021823,
15021777857955485628020481196408, 135196000721599370652184330767673,
1216764006494394335869658976909058, 10950876058449549022826930792181523,
98557884526045941205442377129633716, 887020960734413470848981394166703452,
7983188646609721237640832547500331075, 71848697819487491138767492927502979682,
646638280375387420248907436347526817144,
5819744523378486782240166927127741354301,
52377700710406381040161502344149672188714, 471399306393657429361453521097347049698430,
4242593757542916864253081689876123447285874,
38183343817886251778277735208885111025572869,
343650094360976266004499616879965999230155824,
3092850849248786394040496551919693993071402419,
27835657643239077546364468967277245937642621773, 250520918789151697917280220705495213438783595959,
2254688269102365281255521986349456920949052363633, ...
NestList[successeur, 5, 50]
S(5)
= 5,
49, 445, 4009, 36084, 324759, 2922833, 26305499, 236749493, 2130745439,
19176708952, 172590380569, 1553313425122, 13979820826099, 125818387434892,
1132365486914029, 10191289382226262, 91721604440036367, 825494439960327311,
7429449959642945806, 66865049636786512260, 601785446731078610346,
5416069020579707493119, 48744621185217367438075, 438701590666956306942679, 3948314316002606762484114,
35534828844023460862357029, 319813459596211147761213264,
2878321136365900329850919378, 25904890227293102968658274404,
233144012045637926717924469638, 2098296108410741340461320226744,
18884664975696672064151882040697, 169961984781270048577366938366274,
1529657863031430437196302445296467, 13766920767282873934766722007668204,
123902286905545865412900498069013837, 1115120582149912788716104482621124534,
10036085239349215098444940343590120807, 90324767154142935886004463092311087272,
812922904387286422974040167830799785456,
7316306139485577806766361510477198069111,
65846755255370200260897253594294782622005,
592620797298331802348075282348653043598050,
5333587175684986221132677541137877392382455,
48002284581164875990194097870240896531442099, 432020561230483883911746880832168068782978895,
3888185051074354955205721927489512619046810058,
34993665459669194596851497347405613571421290525,
314942989137022751371663476126650522142791614728,
2834486902233204762344971285139854699285124532554, ...
NestList[successeur, 6, 50]
S(6) = 6, 59, 536, 4828, 43456, 391107, 3519966, 31679697,
285117275, 2566055477, 23094499295, 207850493657, 1870654442914,
16835889986227, 151523009876044, 1363707088884397, 12273363799959574,
110460274199636167, 994142467796725512, 8947282210170529616,
80525539891534766552, 724729859023812898975, 6522568731214316090781,
58703118580928844817034, 528328067228359603353311, 4754952605055236430179803,
42794573445497127871618231, 385151161009474150844564082,
3466360449085267357601076741, 31197244041767406218409690672,
280775196375906655965687216050, 2526976767383159903691184944452,
22742790906448439133220664500070, 204685118158035952198985980500632,
1842166063422323569790873824505689, 16579494570800912128117864420551202,
149215451137208209153060779784960819, 1342939060234873882377547018064647372,
12086451542113864941397923162581826349,
108778063879024784472581308463236437142,
979002574911223060253231776169127934287,
8811023174201007542279085985522151408591, 79299208567809067880511773869699362677326,
713692877110281610924605964827294264095941,
6423235893992534498321453683445648376863475,
57809123045932810484893083151010835391771280,
520282107413395294364037748359097518525941525,
4682538966720557649276339735231877666733473729, 42142850700485018843487057617086899000601263565,
379285656304365169591383518553782091005411372088,
3413570906739286526322451666984038819048702348795, ...
NestList[successeur, 7, 50]
S(7) = 7, 69, 627, 5648, 50837, 457537, 4117837, 37060536,
333544827, 3001903446, 27017131016, 243154179146, 2188387612316,
19695488510845, 177259396597606, 1595334569378455, 14358011124406096,
129222100119654865, 1162998901076893786, 10466990109692044075,
94202910987228396684, 847826198885055570164, 7630435789965500131483,
68673922109689501183353, 618065298987205510650183, 5562587690884849595851652,
50063289217963646362664873, 450569602961672817263983861,
4055126426655055355375854753, 36496137839895498198382692780,
328465240559059483785444235023, 2956187165031535354068998115209, 26605684485283818186620983036883,
239451160367554363679588847331949, 2155060443307989273116299625987543,
19395543989771903458046696633887888, 174559895907947131122420269704990993,
1571039063171524180101782427344918938, 14139351568543717620916041846104270443,
127254164116893458588244376614938433988,
1145287477052041127294199389534445905893,
10307587293468370145647794505810013153038,
92768285641215331310830150552290118377351,
834914570770937981797471354970611065396167,
7514231136938441836177242194735499588565510, 67628080232445976525595179752619496297089596,
608652722092013788730356617773575466673806370,
5477874498828124098573209559962179200064257335,
49300870489453116887158886039659612800578316019,
443707834405078051984429974356936515205204844175, 3993370509645702467859869769212428636846843597578,
...
NestList[successeur, 8, 50]
S(8) = 8, 79, 718, 6468, 58217, 523958, 4715626, 42440638,
381965745, 3437691708, 30939225375, 278453028377, 2506077255395,
22554695298557, 202992257687015, 1826930319183136, 16442372872648225,
147981355853834026, 1331832202684506235, 11986489824160556116,
107878408417445005045, 970905675757005045414, 8738151081813045408734,
78643359736317408678613, 707790237626856678107524, 6370112138641710102967722,
57331009247775390926709503, 515979083229978518340385532,
4643811749069806665063469792, 41794305741628259985571228132,
376148751674654339870141053191, 3385338765071889058831269478722,
30468048885647001529481425308501, 274212439970823013765332827776511,
2467911959737407123887995449988601, 22211207637636664114991959049897411,
199900868738729977034927631449076700, 1799107818648569793314348683041690301,
16191970367837128139829138147375212710,
145727733310534153258462243326376914391,
1311549599794807379326160189937392229520, 11803946398153266413935441709436530065681,
106235517583379397725418975384928770591130,
956119658250414579528770778464358935320179,
8605076924253731215758937006179230417881619,
77445692318283580941830433055613073760934578,
697011230864552228476473897500517663848411208, 6273101077780970056288265077504658974635700878,
56457909700028730506594385697541930771721307907,
508121187300258574559349471277877376945491771168,
4573090685702327171034145241500896392509425940516, ...
NestList[successeur, 9, 50]
S(9) = 9, 89, 809, 7288, 65598, 590387, 5313488, 47821396,
430392568, 3873533115, 34861798038, 313756182345, 2823805641107,
25414250769965, 228728256929687, 2058554312367185, 18526988811304666,
166742899301741995, 1500686093715677956, 13506174843441101605,
121555573590969914446, 1094000162318729230015, 9846001460868563070144,
88614013147817067631304, 797526118330353608681743, 7177735064973182478135694,
64599615584758642303221252, 581396540262827780728991273,
5232568862365450026560921462, 47093119761289050239048293162,
423838077851601452151434638462, 3814542700664413069362911746161,
34330884305979717624266205715452, 308977958753817458618395851439071,
2780801628784357127565562662951641, 25027214659059214148090063966564771,
225244931931532927332810575699082941, 2027204387383796345995295181291746471, 18244839486454167113957656631625718240,
164203555378087504025618909684631464161,
1477831998402787536230570187161683177450,
13300487985625087826075131684455148597051,
119704391870625790434676185160096337373460,
1077339526835632113912085666440867036361141, 9696055741520689025208770997967803327250278,
87264501673686201226878938981710229945252510,
785380515063175811041910450835392069507272597,
7068424635568582299377194057518528625565453380,
63615821720117240694394746517666757630089080426, 572542395481055166249552718659000818670801723839,
5152881559329496496245974467931007368037215514556, ...
NestList[successeur, 10, 50]
S(10) = 10, 99, 899, 8099, 72898, 656088, 5904797, 53143178,
478288606, 4304597458, 38741377125, 348672394128, 3138051547155,
28242463924397, 254182175319575, 2287639577876177, 20588756200885595,
185298805807970356, 1667689252271733205, 15009203270445598846,
135082829434010389615, 1215745464906093506536, 10941709184154841558825,
98475382657393574029434, 886278443916542166264914, 7976505995248879496384233,
71788553957239915467458104, 646096985615159239207122942,
5814872870536433152864106483, 52333855834827898375776958352,
471004702513451085381992625172, 4239042322621059768437933626552,
38151380903589537915941402638971, 343362428132305841243472623750742,
3090261853190752571191253613756681, 27812356678716773140721282523810131,
250311210108450958266491542714291181, 2252800890976058624398423884428620631,
20275208018784527619585814959857585681,
182476872169060748576272334638718271130, 1642291849521546737186451011748464440171,
14780626645693920634678059105736179961540,
133025639811245285712102531951625619653861,
1197230758301207571408922787564630576884750,
10775076824710868142680305088081675191962751,
96975691422397813284122745792735076727664768, 872781222801580319557104712134615690548982920,
7855031005214222876013942409211541214940846287,
70695279046928005884125481682903870934467616590,
636257511422352052957129335146134838410208549316,
5726317602801168476614164016315213545691876943849, ...
__________
Many thanks to Nicolas, Gilles and Alexandre!
Best,
É.
__________
[Reminder for Éric: when Nicolas’ dynamic page
will disappear from Nicolas’ server, please use this on my server]:
<?
/*
calcul de la suite telle que la somme
s(n) + s(n+1) s'obtient en concaténant le
premier chiffre de s(n+1) après s(n).
Eric Angelini, 18/04/2013
http://www.cetteadressecomportecinquantesignes.com/MagicalSum.htm
*/
function premier_chiffre ($n) {
return (int) substr("$n", 0, 1) ;
}
function suivant ($n) {
$p = 9*$n ;
for ( $a = 1 ; $a <= 9 ; $a++ ) {
if (premier_chiffre($p+$a) == $a)
{
return ($p+$a) ;
}
}
die("rien trouvé pour suivant($n)") ;
}
$x = $_REQUEST["x"]
;
$n = $_REQUEST["n"]
;
if ( $n === "0" ) {
for ($i=1 ; $i<=$x ; $i++) {
echo "$i → ", suivant($i), "<br>\n"
;
}
} else {
if (! $x) $x = 1 ;
if (! $n) $n = 15 ;
while ($n--) {
echo "$x, " ;
$x = suivant($x) ;
}
}
?>