Essayez aussi avec 5 permutations.
-----
Essayez aussi avec 5 permutations.
Un programme en C sans la moindre trace d'intelligence essaye toutes les valeurs de D entre 30000 et 300000 en quelques secondes
Dernière modification par Médiat ; 05/06/2020 à 10h56.
Je suis Charlie.
J'affirme péremptoirement que toute affirmation péremptoire est fausse
Je suis Charlie.
J'affirme péremptoirement que toute affirmation péremptoire est fausse
71711 - 39378 = 33333, pas très anonyme.
Médiat, pouvez-vous maintenant trouver 3 solutions ?
Dernière modification par akntn ; 05/06/2020 à 12h53.
Bon, je quitte la discussion, et je vais avoir l'air vraiment stupide mais je viens de comprendre pourquoi ça tourne en rond
Bonne continuation
"Il ne suffit pas d'être persécuté pour être Galilée, encore faut-il avoir raison." (Gould)
29666 62999 96332
Je suis Charlie.
J'affirme péremptoirement que toute affirmation péremptoire est fausse
Il est encore long, l'exercice de Akntn ?
Merci Médiat. Intéressant (pour moi).
Un fait intéressant (pour 3 permutations d'un nombre de 5 chiffres avec gestion correcte du 0) qui mériterait, peut-être une petite étude :
Il y a 3996 triplets (nombres qui donne la même somme), qui se répartissent naturellement en 12 groupes de 333 :
47000 13667 80333
48000 14667 81333
49000 15667 82333
57000 23667 90333
58000 24667 91333
59000 25667 92333
84000 50667 17334
85000 51667 18334
86000 52667 19334
94000 60667 27334
95000 61667 28334
96000 62667 29334
En ajoutant un nombre entre 0 et 332 à chacun des 3 nombres de chaque ligne on obtient un triplet.
Je suis Charlie.
J'affirme péremptoirement que toute affirmation péremptoire est fausse
Bonjour,
Il y a deux solutions correspondant à la somme considérée (125397), dont l'une inclut un zéro.Je pense qu'une méthode "simple" est de tout simplement écrire un programme d'ordinateur qui explore tous les cas, en optimisant au mieux.
Le programme est un peu lourd mais pas de conception difficile, et s'exécute rapidement.
Non , 3 solutions :
23652
23652 + 33333 = 56985
56985 + 33333 = 90318
Bien que je ne tienne pas compte de la troisième qui amalgame 0318 et 318 (pour moi, 90318, 31890 et 18903).
Pardon, effectivement, erreur de ma part.
Opabinia, peux-tu tester : A = 432156489, D = 969370326. Je suppose que A est unique.
Dont acte.Pardon, effectivement, erreur de ma part.
Le temps d'exécution du programme sera beaucoup plus long, même après une amélioration drastique de l'algorithme.Opabinia, peux-tu tester : A = 432156489, D = 969370326. Je suppose que A est unique.
Le nombre de calculs de la précédente version a été divisé par 10.
Il serait intéressant de poursuivre dans cette direction, mais le résultat est incertain.
Quand je dis A, il s'agit du triplet ABC évidemment.
Merci.
Ton fichier n'est pas accessible pour moi.
Peux-tu (STP) tester 141111 ? Que trouves-tu ?
Dernière modification par akntn ; 06/06/2020 à 13h27.
Médiat : merci pour vos résultats. Il semble que 3 solutions correspondent à un maximum (ce qui n'empêche pas une ou deux solutions, par exemple : 365 est une solution unique de 1018 avec 2 permutations). Mon souhait est que le nombre de solutions tende vers 1 quand la taille des nombres augmente (ainsi que le nombre de permutations).
Opabinia, combien de temps ton programme mettrait pour tester des D de l'ordre du milliard ? Plus de 10 minutes ? C'est par rapport à un projet cryptographique que je pose ces questions.
Merci.
J'ai entrepris de mettre sur pied un nouveau programme, et cela se présente plutôt bien parce que contre toute attente une présélection de cinq chiffres (ceux de rang 1 - les unités, 2, 3, 4, 8, 9) établie sur les 4 premiers chiffres de la somme (à partir de la droite) permet de retenir 100 combinaisons sur un total de 105, soit 1/1000 , et ceci en moins très rapidement.
Reste à déterminer les 3 derniers chiffres pour s'assurer de l'unicité de la solution, ce qui ne devrait pas poser de problème. Pour l'instant un bug bloque la réalisation de la dernière partie du programme, et je n'arrive pas à le localiser.
Dans la liste intermédiaire obtenue figure l'entier A = 43***6489 .
Il me faudrait refaire un autre programme pour des entiers à 6 chiffres, et il me paraît préférable de terminer l'autre (si possible).Ton fichier n'est pas accessible pour moi.
Peux-tu (STP) tester 141111 ? Que trouves-tu ?
Je ne vois pas de quel fichier tu parles. S'il s'agit du fichier source, je peux le poster; il est rédigé en Pascal.
OK super. Pour le fichier, no problème, c'était un message d'erreur. Tu as pourtant testé 145397, qui comprend 6 chiffres ?
Voici un 5 chiffres qui doit contenir un triplet unique : 65313.
Exact, il y a eu malentendu, parce que la somme (D) peut comporter un chiffre de plus que chacun des 3 termes (A, B, C).Tu as pourtant testé 145397, qui comprend 6 chiffres ?
Le programme (1re version améliorée) livre une seule solution pour D = 141111 :
Une réponse précise pourra être donnée quand le programme précédent livrera des résultats complets.... combien de temps ton programme mettrait pour tester des D de l'ordre du milliard ? Plus de 10 minutes ?
Pour D = 65313 , une unique solution:
Merci pour ces résultats. 141111 comporte en fait 2 solutions (je n'ai pas prévu la tienne). Voici la mienne : 90318 / 31890 / 18903. Pourquoi ton programme l'a zappée ? Bizarre.
Je suppose qu'en augmentant la longueur des nombres, le nombre de solutions tend vers 1.
Dernière modification par akntn ; 07/06/2020 à 22h39.
Ou plus vraisemblablement en augmentant le nombre de permutations.
merci pour ces résultats. 141111 comporte en fait 2 solutions (je n'ai pas prévu la tienne). Voici la mienne : 90318 / 31890 / 18903. Pourquoi ton programme l'a zappée ? Bizarre.( a = 53523 , b = 35235 , c = 52353 ) ==> d = 141111 ;
Tu as sauté le premier successeur de 90138 , égal à 3189 :
( a = 90318 , b = 03189 , c = 31890 ) ==> d = 125397 .
J'ai ré-écrit une version plus simple du dernier programme, aussi rapide que les précédentes, et reprenant le même plan:
- présélection des combinaisons favorables sur les chiffres de rang (1, 2, 3, 4, 8, 9);
- recherche des solutions par l'énumération des chiffres restants, de rang (5, 6, 7).
Il y a un problème d'affichage des résultats à résoudre; malgré ses défauts présents, le programme a donné une solution exotique:... peux-tu tester : A = 432156489, D = 969370326. Je suppose que A est unique.
( a = 008733066, b = 087330660 , c = 873306600 ) ==> d = 969370326 .