MPO 110 : une énigme doublement diabolique

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
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7141
Enregistré le : 31 janv. 2008 14:24
Localisation : Banlieue Paârisienne
Contact :

MPO 110 : une énigme doublement diabolique

Message par gege »

Bonjour,
Les triplets pythagoriciens sont des triplets de nombres entiers qui sont les trois côtés d'un triangle rectangle.
Par exemple : 3, 4 et 5 (c'est le plus petit).
Un seul de ces triangles a pour surface un nombre dont tous les chiffres sont identiques !!
Quelle est cette surface ?
A vos machines !!
G.E.
Avatar du membre
bernouilli92
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5229
Enregistré le : 21 nov. 2012 13:03
Localisation : Ile de France

Re: MPO 110 : une énigme doublement diabolique

Message par bernouilli92 »

Il faudrait préciser que la surface doit avoir plus d'un chiffre.
HP, Casio, Sharp, Psion, quelques TI et divers autres
gotcha
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 99
Enregistré le : 20 nov. 2021 09:23
Localisation : Isère

Re: MPO 110 : une énigme doublement diabolique

Message par gotcha »

Il doit y avoir du 666 là dedans :-)
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3405
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: MPO 110 : une énigme doublement diabolique

Message par C.Ret »

bernouilli92 a écrit : 01 juin 2022 12:39Il faudrait préciser que la surface doit avoir plus d'un chiffre.
Pas indispensable, les triplets pythagoriciens sont composés d'entiers.
gotcha a écrit : 01 juin 2022 13:03Il doit y avoir du 666 là dedans :-)
Diable ! Quelle machine as-tu utilisée pour trouver aussi vite ?


J'en suis encore à préparer la voiture et la sortir du garage pour aller acheter des piles neuves...
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 : 5229
Enregistré le : 21 nov. 2012 13:03
Localisation : Ile de France

Re: MPO 110 : une énigme doublement diabolique

Message par bernouilli92 »

Le triplet 3,4,5 donne un triangle de surface 6 qui a tous les chiffres égaux.
HP, Casio, Sharp, Psion, quelques TI et divers autres
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3405
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: MPO 110 : une énigme doublement diabolique

Message par C.Ret »

bernouilli92 a écrit : 01 juin 2022 13:41Le triplet 3,4,5 donne un triangle de surface 6 qui a tous les chiffres égaux
Oups !
Je crois que je vais devoir réviser mon code, ma pauvre HP-15C ne trouve pas de solution avec une surface à un seul chiffre ...
Elle en trouve une autre un peu plus loin, mais j'ai maintenant comme un doute :( :cry:
Cotes volontairement maquées (mais c'est à l'échelle :)
Cotes volontairement maquées (mais c'est à l'échelle :)
MPO110 - No easy spoil.gif (57.07 Kio) Vu 3182 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 : 5229
Enregistré le : 21 nov. 2012 13:03
Localisation : Ile de France

Re: MPO 110 : une énigme doublement diabolique

Message par bernouilli92 »

Voici mon programme qui trouve un solutio au bout de très longtemps sur une vraie hp48, beaucoup moins longtemps sur un émulateur mais pas mal de temps quand même.
Je ne l'ai pas testé sur une vraie hp48.

Le programme n'est pas du tout optimisé :

Code : Tout sélectionner

«
  1 10000
  FOR X 
    X 1 DISP 1
    X
    FOR Y 
      Y 2 DISP
      IF X SQ Y SQ + √ FP NOT
      THEN 
        X Y * 2 / DUP 10 MOD 1
        → X F 
        « 
          1 OVER LOG IP
          START 
            10 / IP DUP 10 MOD X == 
            F AND 'F' STO
          NEXT DROP F
        »
        IF
        THEN 
          X Y 2 →LIST DUP 3 DISP
        END
      END
    NEXT
  NEXT
»
HP, Casio, Sharp, Psion, quelques TI et divers autres
Avatar du membre
Over_score
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 168
Enregistré le : 26 mars 2019 14:55
Localisation : Pas loin de Smartville

Re: MPO 110 : une énigme doublement diabolique

Message par Over_score »

En 1 minute et 30 secondes sur SHARP PC-E220

Code : Tout sélectionner

5 FOR X=2 TO 10000:IF X/5= INT (X/5) THEN 55
10 FOR Y=1 TO X-1:IF Y/5= INT (Y/5) THEN 50
15 M=X:N=Y:GOSUB 99:IF N<>1 THEN 50
20 A=X*X-Y*Y:B=X*Y:S=A*B
30 U=S-10* INT (S/10):S= INT (S/10)
35 IF S=0 OR S-10* INT (S/10)<>U THEN 40
37 S= INT (S/10):GOTO 35
40 IF S<>0 OR A*B=6 THEN 50
45 PRINT "A=";A;" B=";B*2;" C=";X*X+Y*Y;" S=";A*B:END
50 NEXT Y
55 NEXT X:END
99 R=M-N* INT (M/N)
100 IF R=0 THEN RETURN
110 M=N:N=R:GOTO 99
Avatar du membre
bernouilli92
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5229
Enregistré le : 21 nov. 2012 13:03
Localisation : Ile de France

Re: MPO 110 : une énigme doublement diabolique

Message par bernouilli92 »

Pourquoi tu élimines les multiplies de 5?
HP, Casio, Sharp, Psion, quelques TI et divers autres
gotcha
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 99
Enregistré le : 20 nov. 2021 09:23
Localisation : Isère

Re: MPO 110 : une énigme doublement diabolique

Message par gotcha »

N'y a t-il pas une solution plus analytique au problème plutôt que calculatoire ?

Et l’énoncé stipule qu' un seul de ces triangles a pour surface un nombre dont tous les chiffres sont identiques
Donc il faut aussi peut être démontrer qu'il n'y en a qu'un seul, pas juste le trouver par force brute ;-)
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3405
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: MPO 110 : une énigme doublement diabolique

Message par C.Ret »

Over_score a écrit : 01 juin 2022 16:37En 1 minute et 30 secondes sur SHARP PC-E220
Oui, bien. pas mal pour un jeune de 1991.
Mais, j'ai un HP-71B qui trouve en 1'23"93 , c'est à dire 83.91", soit environ 7s plus rapide que le PC-E220 ci-dessus, alors qu'il est justement plus agé de 7 ans !
Le code BASIC fait 341 octets.

(Et je suis comme bernouilli, j'attends de comprendre pour quoi les multiples de 5 sont exclus dès la première ligne ??)

P.S.:
  1. J'ai compris pourquoi mon HP-15C ne trouvait pas le triplet pythagoricien { 3 4 5 } qui donne une surface homodigitale de 6 !
  2. J'ai ajouté ce petit perfectionnement aux astuces de mon algorithme. Astuces que je peux justifier par la nature des données du problème.
  3. L'algorithme ainsi amélioré permet de trouver la solution après avoir testé au minium 342 triplets pythagoriciens distincts
  4. Je ne pense pas que l'on puisse démontrer qu'il n'existe pas d'autres solutions par une méthode calculatoire.
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
Over_score
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 168
Enregistré le : 26 mars 2019 14:55
Localisation : Pas loin de Smartville

Re: MPO 110 : une énigme doublement diabolique

Message par Over_score »

C.Ret a écrit : 01 juin 2022 18:08Et je suis comme bernouilli, j'attends de comprendre pour quoi les multiples de 5 sont exclus dès la première ligne ??
Parce que si X ou Y est un multiple de 5 cela donne une surface qui est un multiple de 10 et comme tous les chiffres ne peuvent pas être 0…
Avatar du membre
bernouilli92
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5229
Enregistré le : 21 nov. 2012 13:03
Localisation : Ile de France

Re: MPO 110 : une énigme doublement diabolique

Message par bernouilli92 »

Si x ou y est multiple de 5, cela donne une surface du rectangle qui est multiple de 5 et la moitié du rectangle n'est pas forcément un multiple de 10. La surface du triangle est (x*y)/2.
HP, Casio, Sharp, Psion, quelques TI et divers autres
FLISZT
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 655
Enregistré le : 09 mars 2022 19:14

Re: MPO 110 : une énigme doublement diabolique

Message par FLISZT »

bernouilli92 a écrit : 01 juin 2022 13:41 Le triplet 3,4,5 donne un triangle de surface 6 qui a tous les chiffres égaux.
Je me suis fait la même réflexion ce matin. On pourrait presque ajouter le cas du triangle plat (surface = 0) si la définition d'un triplet pythagorecéen n'excluait pas un triangle ayant un côté égale à zéro.

Sinon, tout est dans le titre de ce MPO : deux fois le… :D
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
Over_score
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 168
Enregistré le : 26 mars 2019 14:55
Localisation : Pas loin de Smartville

Re: MPO 110 : une énigme doublement diabolique

Message par Over_score »

bernouilli92 a écrit : 01 juin 2022 19:42 Si x ou y est multiple de 5, cela donne une surface du rectangle qui est multiple de 5 et la moitié du rectangle n'est pas forcément un multiple de 10. La surface du triangle est (x*y)/2.
hypothèse : x ou y est un multiple de 5
x et y ne peuvent pas être pairs tous les 2 (sinon, bien sûr, ils ne sont pas premiers entre eux)
b=2xy : est un multiple de 20 si l'un est pair et un multiple de 10 si les 2 sont impairs
a=x² - y² est impair si l'un est pair et est pair si les 2 sont impairs

donc : si b est un multiple de 20, b est impair et la surface est un multiple de 10
et si b est un multiple de 10 alors a est pair et la surface est encore un multiple de 10

Je ne sais pas si cette explication est assez claire pour être convaincante…
Répondre

Retourner vers « Tous les Pockets »