Inscription / Connexion Nouveau Sujet
Niveau 3 *
Partager :

Joute n°58 : Marabout d?ficelle

Posté par
godefroy_lehardi Posteur d'énigmes
11-01-12 à 13:41

Bonjour à tous,

Tout le monde connait la fameuse comptine « Marabout, bout de ficelle, selle de cheval, cheval de course, course à pied, etc… »

Je vous propose d’appliquer la même méthode aux carrés des nombres entiers.

Le principe est le suivant : on enlève à un carré un ou plusieurs chiffres à partir de la gauche, sans en sauter. Il n’est pas obligatoire de les enlever un par un. Si le chiffre suivant est un zéro (comme dans 90601=301²), le zéro s’enlève automatiquement.
Au total, il doit rester au moins la moitié des chiffres du nombre initial.
Ensuite, on ajoute obligatoirement des chiffres à droite de manière à retrouver un carré. Puis on recommence…
Petit ajout (à 16H20) : Le nombre initial n'est pas le tout premier de la série mais celui qu'on est en train de transformer.

Important : On ne considère que les carrés comportant 2 chiffres au moins et 5 chiffres au plus (y compris après la transformation), et ne commençant pas par un zéro.

Exemples :
En partant de 784=28², on enlève le "7" et on ajoute un "1" à droite pour obtenir 841=29².
Ensuite, on enlève le "8" à gauche et on met "616" à droite, ce qui donne 41616=204².
Mais si on enlève le "4", on ne trouve aucun carré de la forme 1616X. De même, si on enlève le "41", on ne trouve aucun carré de la forme 616X ou 616XX. La série s’arrête donc là.

De même, à partir de 90601, on enlève le "9" et le "0" disparaît automatiquement. On cherchera donc des carrés de la forme 601X ou 601XX.

Un nombre déjà présent dans la série ne peut pas être réutilisé (sinon, on tournerait en boucle).

Question : Quelle est la plus longue suite de carrés qu’on peut générer ainsi ?
Donnez la liste des carrés composant la suite.
S’il existe plusieurs solutions, une seule suffira.

Un dernier conseil : prenez votre temps !

Joute n°58 : Marabout d?ficelle

Posté par
Nofutur2
re : Joute n°58 : Marabout d’ficelle 11-01-12 à 16:15

gagnéLe trouve une suite  de 15 carrés:
81-16-64-49-9025-256-5625-25921-9216-16129-1296-961-61504-5041-41209

Posté par
masab
re : Joute n°58 : Marabout d?ficelle 11-01-12 à 17:23

gagnéVoici une suite de 15 carrés :
81, 16, 64, 49, 9025, 256, 5625, 25921, 9216, 16129, 1296, 961, 61504, 5041, 41209

Posté par
totti1000
re : Joute n°58 : Marabout d?ficelle 11-01-12 à 19:45

gagnéSalut Godefroy,

Je propose : 81,16,64,49,9025,256,5625,25921,9216,16129,1296,961,61504,5041,41616.

Merci pour l'énigme.

Posté par
pdiophante
joute n°58 11-01-12 à 23:24

perduBonjour,

Réponse: suite de 10 carrés
81,16,64,49,94864,86436,43681,68121,12100,10000
qui sont  respectivement les carrés de
9,4,8,7,308,294,209,261,110,100

Posté par
ksad
re : Joute n°58 : Marabout d?ficelle 12-01-12 à 14:41

gagnéBonjour
Voilà un bien beau problème.
Voici la séquence des transformations que je propose (en touchant du bois) avec en gras les chiffres qui subsistent entre deux carrés successifs:

81             16
16             64
64             49
49             9025
9025         256
256           5625
5625         25921
25921       9216
9216         16129
16129       1296
1296         961
961           61504
61504       5041
5041         41209

Je ne suis pas parvenu à identifier une suite plus longue!
Merci pour la joute et à bientôt

Posté par
dpi
re : Joute n°58 : Marabout d?ficelle 12-01-12 à 16:38

perduBonjour,

Fastidieux

J'ai une chaîne :

25  529  2916  16129  1296  961  61504  5041  41209
5²  23²  54²   127²   36²   31²  248²   71²  203²

Posté par
geo3
re : Joute n°58 : Marabout d?ficelle 14-01-12 à 14:04

gagnéBonjour
Je propose
Une succession de 15 carrés:
81, 16, 64, 49, 9025, 256, 5625, 25921, 9216, 16129, 1296, 961, 61504, 5041, 41209.
A+

Posté par
castoriginal
Joute n°58 : Marabout d?ficelle 14-01-12 à 16:17

perduBonjour,

cette fois-ci c'était costaud ! Je pense que l'énigme méritait 4 étoiles.
L'astuce consistait à raisonner à partir des nombres bloquants de fin de série et de remonter en arrière.

Voici les solutions que j'ai trouvées:

Joute n°58 : Marabout d?ficelle

en rouge figurent les 6 séries de 13 nombres, en-dessous on trouve les valeurs des nombres dont ils sont les carrés

Bien à vous

Posté par
manpower
re : Joute n°58 : Marabout d?ficelle 14-01-12 à 18:19

gagnéBonjour,

Marabout difficile oui ! (elle m'en a pris du temps celle-ci)

Après une tentative de programmation avortée car je n'ai pas réussi à la mener au bout, j'ai du me résoudre à faire cela "à la main".
Assisté d'excel, j'ai fait le crible à la main, cherché le rang de chaque nombre et bricolé un peu pour recoller les morceaux...
(malgré les apparentes tortures, j'ai adoré cette énigme très originale. Bravo godefroy_lehardi)

Je trouve au final deux variantes possibles de suites à 15 carrés:
9²-4²-8²-7²-95²-16²-75²-161²-96²-127²-36²-31²-248²-71²-203²
81-16-64-49-9025-256-5625-25921-9216-16129-1296-961-61504-5041-41209

9²-4²-8²-7²-95²-16²-75²-161²-96²-127²-36²-31²-248²-71²-204²
81-16-64-49-9025-256-5625-25921-9216-16129-1296-961-61504-5041-41616

Merci pour cette très belle énigme (malgré la difficulté à la formuler simplement).
Je sais, les compliments n'auront aucun effet sur l'attribution du "Trois p'tits smileys/poissons"...

Posté par
LEGMATH
re : Joute n°58 : Marabout d?ficelle 19-01-12 à 21:49

perduBonsoir godefroy_lehardi,

Une suite de 10 carrés.

81  16  64  49  9409    4096    961    61504     5041    41209   


Merci.

Posté par
rschoon
re : Joute n°58 : Marabout d?ficelle 20-01-12 à 11:41

gagnéBonjour.
Ma réponse est une suite de 15 carrés :
81 16 64 49 9025 256 5625 25921 9216 16129 1296 961 61504 5041 41209

Posté par
Tolokoban
Ma proposition 23-01-12 à 16:00

perduJ'ai trouvé la séquence suivante de 7 éléments :
81 , 16 , 64 , 49 , 9216 , 1681 , 8100

9^2 = 81 , 4^2 = 16 , 8^2 = 64 , 7^2 = 49 , 96^2 = 9216 , 41^2 = 1681 , 90^2 = 8100

Je suis peut-être bien à côté de la plaque, mais je n'ai pas compris le rajout de 16h10...

Même si c'est faux, voici mon algo, ça peut peut-être servir :


import math

squares = [str(x**2) for x in range(1000) if x > 3 and x**2 < 100000]
size = 0
count = 0

def process(n, lst, squares):
    global size, count
    count += 1
    if len(lst) > size:
        size = len(lst)
        print size, ":",
        print " , ".join(["{0}^2 = {1}".format(math.sqrt(int(x)), x) for x in lst])
    i = 1
    j = math.floor(len(n)/2) + 1
    while i < j:
        prefix = n[i:]
        if prefix[0] != '0':
            candidates = [x for x in squares if x not in lst and x[:i] == prefix and len(x) > len(prefix)]
            for candidate in candidates:
                lst.append(candidate)
                process(candidate, lst, squares)
                lst.pop()
        i += 1

for n in squares:
    lst = [n]
    process(n, lst, squares)

Posté par
LeDino
re : Joute n°58 : Marabout d?ficelle 25-01-12 à 17:36

gagnéBonjour,

Je me lance, en proposant une suite de quinze carrés :

81 - 16 - 64 - 49 - 9025 - 256 - 5625 - 25921 - 9216 - 16129 - 1296 - 961 - 61504 - 5041 - 41209

Démarche :
On dresse la liste des 313 carrés ayant 2 à 5 chiffres.
On construit les carrés successeurs de ces carrés (respectant les règles).
On obtient ainsi une liste de couples "précédent-suivant".

On complète chaque couple par les suivants possibles.
On obtient ainsi tous les triplets possibles.

On complète chaque triplet par les suivants possibles.
On obtient ainsi tous les quadruplets possibles.

En itérant : le nombre de suites diminue jusqu'à extinction.
Un tableur suffit, mais une programmation est probablement plus efficace...


Merci pour cette rude énigme .
Sir Godefroy - Froid de canard - Narcissique - Cicatrice - Triste sir - Sir Godefroy ...

Posté par
gust
re : Joute n°58 : Marabout d?ficelle 28-01-12 à 23:40

perdubonjour

la suite cherchée comporte 14 carrés :

81 \rightarrow 16 \rightarrow 64 \rightarrow 4225=65^2 \rightarrow 256 \rightarrow 5625=75^2 \rightarrow 25921=161^2
\rightarrow 9216=96^2 \rightarrow 16219=127^2 \rightarrow 1296=36^2 \rightarrow 961=31^2 \rightarrow 61504=248^2 \rightarrow 5041=71^2 \rightarrow 41616=204^2

Posté par
Chatof
re : Joute n°58 : Marabout d?ficelle 31-01-12 à 11:34

gagné15 carrés

81 16 64 49 9025 256 5625 25921 9216 16129 1296 961 61504 5041 41209
95² 16²  75²  161²  96²   127²  36² 31² 248²  71²  203²

ou
81 16 64 49 9025 256 562525921 9216 16129 1296 961 61504 5041 41616
95² 16²  75²  161²  96²   127²  36² 31² 248²  71²  204²


Citation :
Un dernier conseil : prenez votre temps !


oui! et merci  

Posté par
1emeu
re : Joute n°58 : Marabout d?ficelle 31-01-12 à 15:35

perduBonjour,

je trouve 4 solutions pour lesquels on peut construire une suite de taille 9 (qui est la taille maximale).
En voici une:
256=16*16
5625=75*75
25921=161*161
9216=96*96
16129=127*127
1296=36*36
961=31*31
61504=248*248
5041=71*71

Les 3 autres suites commencent par 1156, 4356 et 7056

Merci pour cette belle énigme

1emeu

Posté par
godefroy_lehardi Posteur d'énigmes
re : Joute n°58 : Marabout d?ficelle 01-02-12 à 13:34

Clôture de l'énigme :

Il y a donc au maximum 15 carrés formant une série « maraboutesque ».
A noter le nombre 264² = 69696 qui n'engendre que lui-même.

Au cas où votre disque dur aurait rendu l'âme en essayant de résoudre cette énigme, vous pouvez toujours vous adresser à ce véritable marabout

Joute n°58 : Marabout d?ficelle

Posté par
Tolokoban
Arg ! Bug... 02-02-12 à 09:30

perduUn p'tit bug dans l'algo
et c'est alors tout faux.

Après correction, python trouve bien deux solutions en 15 valeurs :

81 , 16 , 64 , 49 , 9025 , 256 , 5625 , 25921 , 9216 , 16129 , 1296 , 961 , 61504 , 5041 , 41209
81 , 16 , 64 , 49 , 9025 , 256 , 5625 , 25921 , 9216 , 16129 , 1296 , 961 , 61504 , 5041 , 41616

Merci pour l'énigme !



import math

squares = [str(x**2) for x in range(1000) if x > 3 and x**2 < 100000]
size = 0
count = 0

def process(n, lst, squares):
    global size, count
    count += 1
    if len(lst) >= size:
        size = len(lst)
        print size, ":",
        print " , ".join(lst)
    i = 1
    j = math.floor(len(n)/2) + 1
    while i < j:
        prefix = n[i:]
        if prefix[0] != '0':
            candidates = [x for x in squares if x not in lst and x[:len(prefix)] == prefix and x != prefix]
            for candidate in candidates:
                lst.append(candidate)
                process(candidate, lst, squares)
                lst.pop()
        i += 1

for n in squares:
    lst = [n]
    process(n, lst, squares)

print "Count: ", count

Challenge (énigme mathématique) terminé .
Nombre de participations : 0
:)0,00 %0,00 %:(
0 0

Temps de réponse moyen : 169:58:39.
Répondre à ce sujet

Seuls les membres peuvent poster sur le forum !

Vous devez être connecté pour poster :

Connexion / Inscription Poster un nouveau sujet
Une question ?
Besoin d'aide ?
(Gratuit)
Un modérateur est susceptible de supprimer toute contribution qui ne serait pas en relation avec le thème de discussion abordé, la ligne éditoriale du site, ou qui serait contraire à la loi.


Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !