Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#151 Re : Programmation » Alignement de produits » 26-08-2019 15:16:31
Yoshi, pas la peine de modifier le programme. Ce test d'alignement exact n'est pas obligatoire pour avancer. Ce qui m'importe est de savoir grosso-modo si tous les produits peuvent s'aligner.
#152 Re : Programmation » Alignement de produits » 26-08-2019 12:49:00
Le produit 11 x 19 n'est pas détectable par mon algorithme car il n'est pas aligné. Par contre, 55 x 57 est aligné dans la suite 55 (S = 55). Ce produit est donc détectable. 55 x 57, c'est 11 x 19 aligné.
Clear ?
#153 Re : Programmation » Alignement de produits » 26-08-2019 08:55:42
Salut Yoshi (et Leg)
S, on connaît, c'est : P - L (voir mon organigramme) quand L est inférieur à P. U(S) est une suite de nombres entiers où tous les produits sont "alignés" à partir de S^2. Elle est d'ordre : S + 2 + 4 + 6 + 8 + 10 + 12 + 14 ... + 2n.
Par ex, pour S = 41, on a : 41, 43, 47, 53, 61, 71, 83 ... 1681 (S^2). A partir de là, tous les produits sont alignés, c'est à dire qu'on peut les détecter avec un algorithme (on verra ça dans un second temps).
Donc, aligner un produit, c'est faire en sorte qu'il appartienne à une suite de produits d'origine S^2. Dorénavant, je dirai "suite" et non "ensemble".
Par ex, (55 X 57) est le deuxième produit de la suite de produits d'origine 55^2 (S = 55).
Maintenant, X et Y sont les diviseurs simplifiés de P, c'est tout. C'est pour faire comprendre la théorie. Dans notre programme, X et Y peuvent être A et B, C et D ou F et G.
C'est peut-être un peu plus clair ? J'espère.
#154 Re : Programmation » Alignement de produits » 24-08-2019 21:58:28
Un produit est-il bien aligné ? TEST.
Nous appellerons nos deux diviseurs X et Y.
Soient X et Y >= S.
On vérifie si X et Y appartiennent à S.
X - S = K.
E = racine entière de K.
Si E^2 + E + S = X alors X appartient à S.
Y - S = K.
E = racine entière de K.
Si E^2 + E + S = Y alors Y appartient à S.
Si (X ou Y) ou (X et Y) appartiennent à S, le produit est toujours aligné.
Si le résultat est différent de X ou Y :
- Si X ou Y < H, le produit n'est pas aligné.
H = [2(S - 1) + 2(S - 1) + 2] + 1
- Si X et Y > H le produit est peut-être aligné (ce n'est pas certain).
Je n'ai pas de test actuellement pour vérifier cette dernière condition.
Ex : 37 x 131. Aligné avec A et B > S (17).
Vérif : 37 - 17 = 20. 4 x 4 + 4 = 20.
Ex : 97 x 223. Aligné avec T = 3 : 223 x 291 (3 x 97). S = 123.
Vérif : 223 - 123 = 100. 10 x 10 + 10 = 110, et 223 < H (491) donc produit non aligné. Essayer avec T = 9, T = 15, etc.
On a donc 3 formes de vérif :
- Aligné sûr
- Non aligné sûr
- Aligné non sûr
NB : si X appartient à S, S est une suite évidemment (pour moi, S est à la fois un nombre et une suite).
#155 Re : Programmation » Alignement de produits » 24-08-2019 09:01:42
Bonjour,
Malheureusement, il y a une foule de produits pseudo alignés (ce serait trop beau de pouvoir les aligner aussi facilement). Un exemple : 97 x 223. Avec T = 3 on a : 223 x 291 (3 x 97) qui semble aligné puisque les deux facteurs > S (123). Mais l'ennui est que l'on peut avoir des produits formés à partir de facteurs inférieurs à S (ici, 3 et 97) qu'il est difficile de distinguer des produits vraiment alignés. Toutefois il y a un test qui permet de faire un tri élémentaire.
#156 Re : Programmation » Alignement de produits » 23-08-2019 16:38:36
Bonjour LEG,
Dans ton exemple : P = 3135, 55 est tout à fait par hasard la racine de P. C'est parce qu'il fait partie du produit aligné qui suit 55 x 55 (S^2). Ce n'est donc pas un bon exemple à traiter.
55 et 57 sont les diviseurs (alignés) de P = N x 15, c'est tout.
Ton exemple 181 x 211 est aligné avec 905 x 633 (N x 15). Le but pour moi est de retrouver le produit initial une fois qu'il est aligné, c'est à dire 181 x 211 en divisant 905 par 5 et 633 par 3. Evidemment l'algo final (lequel détecte les produits une fois alignés) ignore le produit initial.
#157 Re : Programmation » Alignement de produits » 23-08-2019 16:05:52
Dans mon pseudo-code, SINON signifie "si la condition juste avant n'est pas remplie" alors faire ceci (j'ai repris ton propre pseudo-code).
P=N tant qu'on n'a pas P = N x T. P ne peut pas être égal à N si i = 2, la condition étant P = N x T. On ne va au prochain i que si P = N x T.
Cela dit je crois qu'on finit par se comprendre. Tes résultats sont identiques aux miens.
#158 Re : Programmation » Alignement de produits » 23-08-2019 10:18:16
Test avec A et B de 27 chiffres (N de 54 chiffres).
A = 526515024552525727314611161
B = 923595420290990949567693871
N =486286865391111418136140881546559916271703833847894231
P = N x 21
10212024173213339780858958512477758241705780510805778851
L =
10212024173213339780858958511391966859073257190959623430
R = 3195625787418379777532430594
S = 1085791382632523319846155421
C (A x 7) = 3685605171867680091202278127
D (B x 3) = 2770786260872972848703081613
F (A x 3) = 1579545073657577181943833483
G (B x 7) = 6465167942036936646973857097
#159 Re : Programmation » Alignement de produits » 23-08-2019 09:38:39
Je t'ai envoyé ce lien parce qu'il m'a semblé intéressant qu'un utilisateur de Python (celui du forum en question) se pose la question des racines entières exactes de très grands nombres entiers. Dans la mesure où mon algo repose sur cette exactitude, je ne pouvais pas ne pas réagir. Loin de moi l'idée de te contredire.
#160 Re : Programmation » Alignement de produits » 23-08-2019 09:19:33
OK, je reprends le fil.
#161 Re : Programmation » Alignement de produits » 22-08-2019 09:04:53
Salut Modo Ferox,
Je t'ai envoyé ce lien uniquement pour info, pas pour remettre en cause ta bonne foi. Je sais bien que tu as de "gros muscles" informatiques, et personne n'en doute ici.
Par ailleurs, tu as peut-être l'impression que j'exploite ton talent de programmateur à mes propres fins, ce que je peux comprendre. Aussi je te propose qu'on arrête ici le tandem. Merci pour ta collaboration.
Cos
#162 Re : Programmation » Alignement de produits » 21-08-2019 09:13:33
Peut-être que ceci peut t'intéresser :
#163 Re : Programmation » Alignement de produits » 21-08-2019 08:32:25
Salut,
Lorsque tu écris post #40 "je sais ce qui n'allait pas", fais-tu allusion au produit de 60 chiffres ?
Entendons-nous bien : lorsque P = N on a forcément i = 1. Dès que l'on fait P = N x T, P est supérieur à N et i > 1.
#164 Re : Programmation » Alignement de produits » 20-08-2019 21:55:01
C'est tout à fait clair pour le passage concerné.
A propos de l'exemple avec 20 chiffres (40 chiffres de N) on a un alignement par A et B tous deux supérieurs à S (L < P). Pour N = 60 chiffres, ça reste incompréhensible. Les diviseurs augmentent en multipliant N par T, de même que S, mais tôt ou tard S devient plus petit, et l'on doit avoir de fait C et D ou F et G > S. Aucune raison que ce soit différent pour les grands nombres. Le cauchemar serait que les deux diviseurs ne soient JAMAIS supérieurs à S en même temps, mais c'est extrêmement peu probable.
#165 Re : Programmation » Alignement de produits » 20-08-2019 16:52:35
Il faut me dire quelles lignes exactement sont obscures dans mon organigramme. C'est la seule méthode valable pour se comprendre.
#166 Re : Programmation » Alignement de produits » 20-08-2019 15:58:20
Qu'est-ce que tu appelles "boucler sur cette ligne" ? Tourner en rond ? Je ne remets pas ton code en cause. J'essaye de comprendre. Le STOP final intervient si on a C et D >= S ou F et G >= S ou C, D, F et G >= S, avec L < P évidemment. N'est-ce pas clair ? Où faut-il placer ce STOP sinon ? Tu as peut-être une idée, l'algo me semble quand même assez simple à comprendre.
Un produit est "aligné" :
Si A et B >=S avec L<P
Si C et D >=S avec L<P
Si F et G >= S avec L<P
Avec la possibilité d'avoir deux produits alignés si on a C, D, F et G >=S en même temps.
Cela semble pourtant simple.
#167 Re : Programmation » Alignement de produits » 20-08-2019 13:19:05
Même WOLFRAM ALPHA, réputé comme l'un des plus "puissants" calculateurs du web, mouline pour donner la racine carrée de :
161656185622363884157409873825181107869683925399877147435447 qui est le produit de deux premiers de 30 chiffres.
Voici la PUB :
PUISSANCE ALGORITHMIQUE INIMAGINABLE
Mathematica élabore des algorithmes sans précédent dans tous les domaines — beaucoup d'entre eux sont développés à Wolfram en utilisant les méthodologies de développement et des capacités sans égal du Wolfram Language.
Par contre, cela marche pour des nombres de 60 chiffres avec plus de deux diviseurs. Très curieux.
#168 Re : Programmation » Alignement de produits » 20-08-2019 12:32:30
J'ai fait des tests sur internet pour calculer la racine d'un nombre de 60 chiffres. Il y a plein de problèmes de format. Il est possible que ça vienne du code utilisé. L'idéal pour les grands nombres est PHP (il me semble).
#169 Re : Programmation » Alignement de produits » 20-08-2019 12:00:45
Vérifier également si ce produit n'est pas aligné tout de suite avec A et B.
je t'envoie d'autres tests :
A : 380312714929783
B : 701200841523563
A : 408364015901707
B : 680154053092271
A : 48280590019558924983
B : 82456381070844400657
#170 Re : Programmation » Alignement de produits » 20-08-2019 11:46:54
C'est pas possible. Il y a un hic quelque part.
Premièrement, est-ce que L est à chaque fois supérieur à P ? Et à quel moment (nombre d'itérations) est-ce que L est inférieur à P ? Peux-tu arrêter dès que L est inférieur à P ? Et noter P, C, D, F et G (même inférieurs à S) ?
C'est impossible qu'un produit ne soit pas alignable, même grand.
#171 Re : Programmation » Alignement de produits » 20-08-2019 08:49:42
Salut Yoshi,
Super, je constate qu'il faut aller jusqu'à M = 13 (13 - 2) pour résoudre l'exemple à 15 chiffres. Peut-être que c'est différent avec un Q plus grand.
Je te propose :
A = 456677434437440644486475995861
B = 353983300754723083028038875227
A et B de 30 chiffres.
Je doute que des nombres aussi grands soient alignés du premier coup.
#172 Re : Programmation » Alignement de produits » 19-08-2019 08:53:03
Ton programme te permet-il de calculer :
A : 542906957840287
x
B : 951492943934717
#173 Re : Programmation » Alignement de produits » 19-08-2019 08:50:01
Les ensembles en question sont donnés par S + (2 + 4 + 6 + 8 + 10 + ...2n). Le plus connu est S 41 (Euler), qui donne 40 nombres premiers consécutifs jusqu'à S^2. Ce qui m'intéresse est la structure des lignes de produits à partir de S^2. Le système d'alignement permet d'intégrer un produit quelconque dans un tel ensemble.
#174 Re : Programmation » Alignement de produits » 18-08-2019 18:06:21
Malheureusement, le test dont je dispose ne permet pas de trancher pour cet exemple. Les deux produits sont possibles car C, D, F et G sont tous supérieurs à S (ce qui n'est pas toujours le cas). Pour l'instant, je teste un système qui, s'il fonctionne, doit servir de tremplin pour en tester un autre. Evidemment, c'est ce deuxième système (utopique pour l'instant) qui est déterminant pour la recherche.
#175 Re : Programmation » Alignement de produits » 18-08-2019 13:01:53
Ma modif d'hier (si P = N) permet de sauter cette ligne si P > N. Je vais faire suivre : si P = N, si A ou B < S alors P = N x T, next i. On zappe ainsi la partie dont nous n'avons pas besoin.







