MPO n°111 : Nombres triangulaires et poissons du lac de Tibériade

Ici, on fait dans le petit, le LCD qui déchire sa race, on y cause même calculatrices quand on est en manque !

Modérateur : Politburo

Avatar du membre
ledudu
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5622
Enregistré le : 26 mars 2009 13:07
Localisation : Ile de France
Contact :

Re: MPO n°112 : Nombres triangulaires

Message par ledudu »

bernouilli92 a écrit : 15 juil. 2022 14:13 On peut faire des boucles infinies sans goto, avec des while true ou repeat until false mais il y a très peu de basic qui ont ces fonctions.
Comme tu dis :D
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3400
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: MPO n°11? : Nombres triangulaires

Message par C.Ret »

ledudu a écrit : 15 juil. 2022 14:15
bernouilli92 a écrit : 15 juil. 2022 14:13 On peut faire des boucles infinies sans goto, avec des while true ou repeat until false mais il y a très peu de basic qui ont ces fonctions.
Comme tu dis :D
Oui, il y en a peu, mais elles existent. Je vous montrerai peut-être comment j'ai bâclé cela sur une des miennes à grands coups de DO @ LOOP, de REPEAT @ UNTIL et un petit LEAVE très discret mais fort efficace.

Mais, il faut que je dompte les petits cailloux aiguisés de ma nouvelle acquisition, je vais tenter, pour une fois de ne pas me disperser...

Mais avant cela, je dois vous avouer qu'un détail me gène dans les codes postés jusqu'à présent par nos amis Ledudu et bernouill92 car aucun de ces deux codes ne semblent répondre à la question posée par gégé :
gege a écrit : 13 juil. 2022 19:51Question :
Trouver les nombres triangulaires qui diminués de 1, sont la somme de deux nombres triangulaires.
En effet, si je lis bien, gégé souhaite obtenir une liste de nombres triangulaires et non pas les indices de ces nombres. Or les deux codes ci-dessus se contentent d'afficher ou d'imprimer (la perspective de la photo démontre comment cela s'étale ...) des indices, mais pas les nombres !

Si je vois bien l'affichage de la CASIO fx-820p donne le triplet 398 462 610, ce qui signifierai que le nombre triangulaire T(610)= 186355 est solution car T(610)-1 = 186355 -1 = 106953 + 79401 = T(462) + T(398).

Autres points qui me bloquent, et pour lesquels je n'ai toujours pas décidé, concernent l'approche du problème:
  • Faire comme ledudu un code qui boucle à l'infini et tentant d'énumérer l'infinité des nombres triangulaires solutions au problème posé
  • Faire comme bernouilli92 en se limitant volontairement à une liste contenant un nombre quelconque de solutions
  • Ecrire un code qui ne fait pas de liste mais aide l'utilisateur à trouver les nombres triangulaires solutions
  • Faire comme badaze et se contenter d'une formule algébrique efficace ?
  • Faire comme zébulon et se demander si une somme de trois termes dont deux sont identiques ne reviendrait pas à une somme de deux termes non nécessairement diffèrents
  • Ecrire un code qui ordonne et compte les solutions et qui permet de déterminer que S(21)=1891 et S(100)=47586
  • ...

Pour me décider, il faut que je mette un peu d'ordre dans mes idées.

Les nombres triangulaires 3, 10, 703, 820, 96580 et ... sont-ils tous une solution du problème de gégé ? Et si oui, le sont-ils tous au même degré ou de la même façon ? Qu'ont-ils de particulier par rapport à l'énorme majorité des autres nombres triangulaires solutions du problème ?
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
Avatar du membre
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7141
Enregistré le : 31 janv. 2008 14:24
Localisation : Banlieue Paârisienne
Contact :

Re: MPO n°112 : Nombres triangulaires

Message par gege »

Bonjour,
D'accord avec Ledudu, le GOTO est non seulement utile mais in-dis-pen-sable !
En tout cas c'est l'avis d'un certain... Niklaus Wirth, qui l'a inclus dans un petit langage qu'il a inventé, ça s'appelle... Pascal :-)
Les boucles dont on sort en bricolant des "flags" c'est moche, inefficace, et illisible.
Bref, à utiliser à bon escient.
G.E.
Avatar du membre
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7141
Enregistré le : 31 janv. 2008 14:24
Localisation : Banlieue Paârisienne
Contact :

Re: MPO n°112 : Nombres triangulaires et poissons du lac de Tibériade

Message par gege »

Bonjour,
Puisque vous maîtrisez maintenant les nombres triangulaires, voici un petit problème supplémentaire à résoudre avec votre fidèle destrier numérique favori, et qui nous rappelle les poissons du lac de Tibériade.

Faites la somme des premières factorielles, par exemple 1!+2!+3! = 1+2+6 = 9.
Quelle est la plus grande somme qu'on puisse obtenir ainsi, inférieure à 100000000, qui soit triangulaire ?

Ce nombre a quelques propriétés amusantes...
G.E.
Avatar du membre
ledudu
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5622
Enregistré le : 26 mars 2009 13:07
Localisation : Ile de France
Contact :

Re: MPO n°112 : Nombres triangulaires et poissons du lac de Tibériade

Message par ledudu »

Salut
Je vois que tu as mis un critère d'arrêt pour faire plaisir aux anti-goto... :)
Le nombre me rappelle le jour où j'ai pu trois pastis. :D
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3400
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: MPO n°11? : Nombres triangulaires et poissons du lac de Tibériade

Message par C.Ret »

Petite réponse sans utiliser d'in-dis-pen-sa-ble ou d'in-con-si-dé-ra-ble G-O-T-O :

Code : Tout sélectionner

10 DESTROY ALL 
20 WHILE S<1E5 @ F=F+1 @ S=S+FACT(F) @ END WHILE
30 REPEAT @ S=S-FACT(F) @ F=F-1 @ N=FLOOR(SQRT(2*S)) @ UNTIL N*N+N=2*S
40 DISP "T";STR$(N);"=";S;" 1→";STR$(F) @ END
ou

Code : Tout sélectionner

M:1→F→S_
  └> 1+F→F_ !+S→S_ S>€5 ▬N▬►[<┐]
  └> S-F!→S_ F-1→F_ INT √2S→N_ NN+N≠2S ▬Y▬►[<┐]
  n=N, tn=S, fact=F
Je laisse aux lecteurs le soin d'effectuer le calcul et de découvrir cette solution !
Modifié en dernier par C.Ret le 16 juil. 2022 14:14, modifié 1 fois.
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
Avatar du membre
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7141
Enregistré le : 31 janv. 2008 14:24
Localisation : Banlieue Paârisienne
Contact :

Re: MPO n°112 : Nombres triangulaires et poissons du lac de Tibériade

Message par gege »

Bonjour,
Wow un peu compliqué, non ?
Le nombre en question est égal à la somme des cubes de ses chiffres.
Imaginons cette transformation qui remplace un nombre par la somme des cubes de ses chiffres
.
Que remarquez-vous quand on répète indéfiniment cette transformation sur n'importe quel nombre divisible par 3 ?
Quel tel nombre inférieur à 100000000 "met le plus d'étapes" ?
Que se passe-t-il sur les nombres non divisibles par 3 ?

Enfin, quel rapport avec le lac de Tibériade ???

Que de questions, on veut des réponses !!! :-)
A vos machines...
G.E.
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3400
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: MPO n°11? : Nombres triangulaires et poissons du lac de Tibériade

Message par C.Ret »

gege a écrit : 16 juil. 2022 12:54Wow un peu compliqué, non ?
Le nombre en question est égal à la somme des cubes de ses chiffres.
Je ne suis pas responsable des énoncés des problèmes de ce thread et des sophistications que ceux-ci entrainent (sans compter les effets de la réverbération du son et de la chaude lumière solaire à la surface du Lac de Tibériade).

Merci en tout cas pour l'indice, je trouve bien un résultat égal à la somme des ces chiffres :)

Et la montée en puissance est due au fait que la limite haute a été fixée à 100'000'000 et que j'ai préféré une recherche décrescendo pour être sûr que je donne la solution maximale.

En allant dans l'autre sens, c'est sûr on arrive au résultat plus vite (bien trop vite à mon goût, je ne me lasse pas de caresser les touches de ma nouvelle calculatrice scientifique), mais il faut quand même vérifier jusqu'à la limite donnée ou jusqu'à l'infini d'un in-com-men-su-ra-ble g-o-t-o.

Je laisse le soin aux lecteurs de ce forum d'optimiser mes codes, de les commenter et de nous proposer les améliorations qu'ils jugeront nécessaires.

Je compte sur le partage de nos compétences pour améliorer mon apprentissage laborieux et débutant de l'AER.
Modifié en dernier par C.Ret le 06 janv. 2024 11:42, modifié 1 fois.
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
Avatar du membre
bernouilli92
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5217
Enregistré le : 21 nov. 2012 13:03
Localisation : Ile de France

Re: MPO n°112 : Nombres triangulaires et poissons du lac de Tibériade

Message par bernouilli92 »

Voici mon programme qui donne la solution de la seconde énigme :

Code : Tout sélectionner

« 0 → R
  « 1 2 11
    FOR I
      I FACT +
      IF DUP DUP 2 * √ IP DUP 1 + * 2 / ==
      THEN 
        DUP 'R' STO
      END
    NEXT 
    DROP R
  »
»
Par contre il n'est pas égal à la somme des cubes des chiffres. C'est son anagramme qui vérifie cette condition.

Édit: je m'étais trompé dans la somme des cubes.
Modifié en dernier par bernouilli92 le 16 juil. 2022 18:29, modifié 1 fois.
HP, Casio, Sharp, Psion, quelques TI et divers autres
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3400
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: MPO n°112 : Nombres triangulaires et poissons du lac de Tibériade

Message par C.Ret »

bernouilli92 a écrit : 16 juil. 2022 16:55Par contre il n'est pas égal à la somme des cubes des chiffres. C'est son anagramme qui vérifie cette condition.
Oui, c'est bien cela, ce sont les chiffres du nombre triangulaire Tn solution qui vérifie cette condition et pas son indice n.
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
Avatar du membre
bernouilli92
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5217
Enregistré le : 21 nov. 2012 13:03
Localisation : Ile de France

Re: MPO n°112 : Nombres triangulaires et poissons du lac de Tibériade

Message par bernouilli92 »

Je me suis trompé dans le calcul de la somme des cubes.

Intéressant comme propriété, en répétant la somme des cubes des chiffres pour un multiple de 3, on tombe très rapidement sur le nombre précédent.
HP, Casio, Sharp, Psion, quelques TI et divers autres
Avatar du membre
Ythunder
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4548
Enregistré le : 09 août 2008 17:46
Localisation : 03

Re: MPO n°112 : Nombres triangulaires et poissons du lac de Tibériade

Message par Ythunder »

Il n'y avait pas quelqu'un qui avait comparé la rapidité entre les loop existantes ??
Quand je lis ça "oui des passionnées qui modifie des machines pour en faire des moutons a 5 pattes qui n'ont plus rien a voir avec la machine d'origine afin de faire la video choc sur youtube..."

Ca me fait rire. Perso, je n'ai ni chaine youtube sur les machines et je n'ai aucun mouton à 5 pattes qui n'a pàlus rien a voir avec des machines d'origine. Mais à qui s'adressait on ?
FLISZT
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 655
Enregistré le : 09 mars 2022 19:14

Re: MPO n°112 : Nombres triangulaires et poissons du lac de Tibériade

Message par FLISZT »

Encore un petit effort et ce MPO aura le titre le plus long de TOUS !

Pour aider, je propose « multicolores et plein d'arêtes » (les poissons)… :D

Mais on peut sûrement touver plus inspiré !

⇒ 門
Bruno
Sanyo CZ-0124 ? TI-57 ? HP-15C ? Canon X-07 + XP-140 Monitor Card ? HP-41CX ? HP-28S ? HP-50G ? HP-50G
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3400
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: MPO n°11?: Nombres triangulaires et poissons multicolores et plein d'arêtes du lac de Tibériade

Message par C.Ret »

Voici mon programme qui donne la solution de la seconde énigme sur HP-41C :

Code : Tout sélectionner

001 CLST
002 LBL 01
003   X<> Z  ISG X  DEG  FACT  ST+ Y  X<> L  X<> Z
010 LBL 02
011   x=y?  VIEW X
013   x>y?  GTO 01
015   R^  ISG X  DEG  +  LASTX  RDN
021 GTO 02
Avez-vous remarqué sa structure en double-boucle enlacée ??
Image

C'est de l'orfèvrerie, je n'ai donc pas utilisé une recherche decrescendo comme mes codes ci-dessus, mais bien plus directement dans le sens croissant et avec des GTO pour les deux boucles infinies, car il semblerait que se soit maintenant toléré (tout au moins aux abords du lac de Tibériade).

De cette façon, les solutions possibles s'affichent au fur et à mesure de leur découverte puis la solution triangulaire maximale reste affichée in-dé-fi-ni-ment tout le temps des GOTO de chaque "fin de boucle impossible".

Si je ne suis pas très clair, n'hésitez pas à poster ci-dessous vos questions, remarques et commentaires.
je tacherai de faire un effort didactique et de moins parler par métaphores.
Modifié en dernier par C.Ret le 16 juil. 2022 21:04, modifié 1 fois.
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3400
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: MPO n°11?: Nombres triangulaires et poissons multicolores et plein d'arêtes du lac de Tibériade

Message par C.Ret »

bernouilli92 a écrit : 16 juil. 2022 18:28Intéressant comme propriété, en répétant la somme des cubes des chiffres pour un multiple de 3, on tombe très rapidement sur le nombre précédent.
Je viens d'essayer, je n'avais pas compris que l'on fini par aboutir sur le nombre triangulaire Image
MPO112 Sommes répétitives des chiffres au cube.png
MPO112 Sommes répétitives des chiffres au cube.png (4.55 Kio) Vu 3060 fois
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
Répondre

Retourner vers « Tous les Pockets »