Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#101 Re : Programmation » Alignement de produits » 19-09-2019 14:07:22
Bonjour,
Voici un petit pseudo programme qui met en pratique ce système. On n'a pas les sous-produits, mais tous les produits alignés avec T x N si A x T ou B x T.
Par exemple, 29 x 71 ne marche pas avec T = 15 (qui pourtant donne un produit aligné) mais avec T = 23 (71 x 667). 1 x 1999 ne marche plus avec T = 57 mais avec T = 117 (niveau 2 du tableau T).
Programme test "alignement progressif".
Input A
Input B
N = A x B
P = N
V = 1
e = - 1
i = i + 1 (i = 0)
V = V + 2
Si V = 49, e = e + 1 et V = 7
Si e = - 1, T = V
Si e = 0, T = 49
Si T >= 49 x 9^e, T = 9 x (9^e x V)
R = sqrt entière de P
L = R^2 + R
Si L > P, P = N x T. Aller à next i.
Si L < P, S = P - L
Si P = N, alors si P > S^2, si A >=S, si B > S, print P, A et B. STOP.
Sinon, si A ou B < S, P = N x T. Aller à next i.
A = A x T
Si P > S^2, si A >= S, si B >= S, alors print P, A et B.
Si A et B >= S, alors STOP.
Si A ou B < S, P = N x T. Aller à next i.
#102 Re : Programmation » Alignement de produits » 18-09-2019 08:50:47
Evidemment tout ceci est théorique pour le moment.
#103 Re : Programmation » Alignement de produits » 18-09-2019 08:41:25
Voilà mon système de T progressif :
T 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49
T (9^1 x 7) 63 81 99 117 135 153 171 189 207 225 243 261 279 297 315 333 351 369 387 405 423 441
T ( 9^2 x 7) 567 729 891 1053 1215 1377 1539 1701 1863 2025 2187 2349 2511 2673 2835 2997 3159 3321 3483 3645 3969
T (9^3 x 7) 5103 6561 ...
T (9^4 x 7) ...
Je n'utilise que 22 nombres et les puissances de 9. Une fois que A est proche de B (il suffit de multiplier N par T + 1), la marge des 22 nombres doit être suffisante pour avoir un alignement.
-Si A et B sont proches, on trouve l'alignement très rapidement (T1 ou T2).
-Si A et B sont très éloignés, on finit toujours par trouver l'alignement moyennant un temps raisonnable.
-Si N est premier, alors A = T et B = N.
#104 Re : Programmation » Alignement de produits » 18-09-2019 08:10:08
Salut,
Intéressant, c'est mieux que le milliard, mais c'est astronomique et impraticable. On voit bien que Q n'est d'aucune aide pour diminuer M.
#105 Re : Programmation » Alignement de produits » 17-09-2019 15:55:41
Ne te fatigues pas pour le programme d'alignement "sûr". Pas nécessaire. On va passer à la phase suivante.
#106 Re : Programmation » Alignement de produits » 17-09-2019 15:20:45
J'appréhendais ce résultat. Logiquement il doit y avoir un alignement, mais il est très loin (peut-être avec M proche du milliard ou même plus). Je ne pense pas que ça vienne de Q, on l'a vu avec l'essai précédent. Des Q plus élevés ne produisent pas nécessairement moins de M. Il y a une solution pour parer à cela, c'est d'augmenter la longueur de A tous les 30 T à peu près, jusqu'à ce qu'il se rapproche de B et finisse par produire un alignement "classique" situé dans la marge de 30 T. Pour cet exemple, on aurait B = 25 chiffres, A = 5 chiffres, donc 25 - 5 = 20 chiffres de A à augmenter, ce qui représente entre 500 et 600 T en tout, résultat très acceptable.
A + et merci.
#107 Re : Programmation » Alignement de produits » 17-09-2019 13:01:15
Salut Yoshi,
As-tu regardé pour :
A = 45413
B = 3507065749624756498911323
#108 Re : Programmation » Alignement de produits » 16-09-2019 22:31:01
Ton processeur calcule quand même bigrement vite. Dans mon programme final, il devra tester N en le multipliant à chaque fois par T, donc autant de N à la file avant de tomber sur le bon. C'est peut-être faisable si on augmente T de x 9 tous les 25 ou 30 T. On sait que plus A est proche de B et moins on a d'étapes. Donc la marge de 30 T doit suffire pour trouver un N aligné si A est devenu assez grand.
#109 Re : Programmation » Alignement de produits » 16-09-2019 22:12:03
Sorry, j'ai zappé les exemples avec Q > 5 !
Je constate que M est très grand (trop grand) en général. Pas très bon pour les grands écarts.
Le problème pour moi par la suite est de chercher le bon alignement sans connaître A et B. Donc je dois tester T après T sur un ensemble de raisons qui peut s'avérer important. Dans le cas de très grands écarts, c'est infaisable en un temps acceptable (je vois au pire).
#110 Re : Programmation » Alignement de produits » 16-09-2019 18:38:22
J'espère qu'on a un résultat. Sinon, ça va me poser un gros problème pour les produits de ce type.
#111 Re : Programmation » Alignement de produits » 16-09-2019 17:54:13
Super, je m'attendais à quelque chose comme ça. Je constate qu'avec Q = 5 on a M qui diminue, mais c'est peut-être une illusion. As-tu essayé avec des Q supérieurs à 5 ?
Sinon, un autre exemple qui risque d'être intéressant (histoire de redescendre sur terre avant de passer à la phase 3).
A = 45413
B = 3507065749624756498911323
Merci !
#112 Re : Programmation » Alignement de produits » 16-09-2019 16:03:24
Salut Yoshi,
Pourrais-tu aligner les produits suivants avec le système classique (sans aligner "sûr") ? Je crois qu'on a pas mal d'étapes. Je n'y suis pas parvenu à la main.
73 x 3692347
73 x 6246403
73 x 1701269
73 x 6565133
Quand tu auras le temps bien sûr. Merci d'avance. A ++ Cos
#113 Re : Entraide (supérieur) » Nombre premiers et divisibilité » 14-09-2019 12:22:32
Il n'existe à ce jour aucun algorithme simple ne donnant que des nombres premiers à l'infini. Si c'était le cas, ce ne serait plus drôle.
#114 Re : Programmation » Alignement de produits » 11-09-2019 16:58:07
J'ai supprimé l'option "alignement non sûr" qui n'est plus d'aucune utilité. J'ai supprimé également les conditions avec H. C'est beaucoup plus simple.
J'espère que tu es toujours de la partie.
TEST D'ALIGNEMENT SÛR
Input A (premier)
Input B (premier)
Input Q (2n - 1 > 1)
A < B
N = A x B
P = N
i = i + 1
R = racine entière de P
L = R^2 + R
Si i = 1 M = 1
Si i > 1 M = M + 2
T = Q x M
Si L >= P alors P = N x T. Aller à next i.
Si L < P alors S = P - L
Si P > N aller à &
Si P = N, si A ou B < S alors P = N x T. Aller à next i.
Sinon, si P > S^2, si A >= S, si B >= S alors vérif A :
K = A - S
E = racine entière de K
Si E^2 + E + S = A alors print P, A et B, "aligné sûr". STOP.
Sinon, alors P = N x T. Aller à next i.
& C = A x (M - 2)
D = B x Q
F = A x Q
G = B x (M - 2)
Si C ou D < S AND si F ou G < S alors P = N x T. Aller à next i.
Si C ou D < S aller à %
Si P > S^2, si C >= S, si D >= S alors vérif C :
K = C - S
E = racine entière de K
Si E^2 + E + S = C alors print P, C et D, "aligné sûr". STOP.
Sinon, alors P = N x T. Aller à next i.
% Si P > S^2, si F >= S, si G >= S alors vérif F :
K = F - S
E = racine entière de K
Si E^2 + E + S = F alors print P, F et G, "aligné sûr". STOP.
Sinon, alors P = N x T. Aller à next i.
#115 Re : Programmation » Alignement de produits » 11-09-2019 09:38:51
Salut Yoshi,
Je me rends compte à quel point ce programme d'alignement sûr est capital pour moi. En effet, pour que mon test de détection fonctionne, il faut que le produit soit aligné sur S^2 avec un ou deux facteurs alignés sur S. Sinon, les raisons deviennent incalculables et mon test est impuissant. Il faut donc que je sois certain que TOUS les produits sont alignables sûr.
A ++
#116 Re : Programmation » Alignement de produits » 06-09-2019 15:33:09
Alignements de nombres premiers
Exemple : P = N = 1 x 1999
L < P, S = 19.
Mais 1 < 19 donc P = 1999 x 3 = 5997
L > P donc P = 1999 x 9 = 17991
L > P donc P = 1999 x 15 = 29985
L > P donc P = 1999 x 21 = 41979
L < P, S = 159.
Mais 21 < S donc P = 1999 x 27 = 53973
L > P donc P = 1999 x 33 = 65967
L < P, S = 175.
Mais 33 < S donc P = 1999 x 39 = 77961
L > P donc P = 1999 x 45 = 89955
L < P, S = 255.
Mais 45 < S donc P = 1999 x 51 = 101949
L > P donc P = 1999 x 57 = 113943
L < P, S = 37.
57 et 1999 > S donc P peut-être aligné.
En effet : 57 - 37 = 20 (4 x 4 + 4).
On voit qu'un nombre premier est plus difficile à aligner qu'un nombre composé car A = 1. Pour des nombres premiers très grands, le nombre d'étapes est considérable si on part de Q = 3. Du coup, on peut commencer la recherche d'alignement à partir de Q assez élevés.
#117 Re : Programmation » Alignement de produits » 06-09-2019 15:23:41
Salut Yoshi,
Merci pour les tests et pour ton aide en général. Comblé, non, pas encore, car il reste encore le test définitif. Je sais seulement que tous les produits sont alignables quelle que soit leur taille (et encore un certain nombre sont pseudo alignés). Evidemment, lors du test définitif, il s'agira de découvrir le produit à partir de N (aligné) et non plus seulement de le tester. Je n'y crois pas trop, mais ça vaut le coup d'expérimenter.
A++
Ce que je cherche à faire.
#118 Re : Programmation » Alignement de produits » 06-09-2019 15:13:50
Salut LEG,
Tu as remarqué plus haut sans doute que le nombre d'étapes pour A et B de 100 chiffres était sensiblement le même que pour des petits nombres. Ce qui augmente le nombre d'étapes est l'écart entre A et B. Si A est très petit et B très grand, il faut un certain temps à A pour se retrouver supérieur à S (lequel augmente rapidement).
#119 Re : Programmation » Alignement de produits » 05-09-2019 14:25:24
Un exemple d'alignement sûr :
P = N = 37 x 59 = 2183
Aligné tout suite puisque S = 21 et les deux facteurs de N supérieurs à S.
Mais pseudo aligné car 37 inférieur à H (83) et n'est pas dans la suite 21.
Donc P = 2183 x 3 = 6549
S = 69
C = 37 (x 1), D = 177 (x 3)
F = 111 (x 3), G = 59 (x 1)
Mais 37 et 59 < S (69) donc P = 2183 x 9 = 19647
L > P donc P = 2183 x 15 = 32745
S = 165
C = 185 (x 5), D = 177 (x 3)
185 et 177 > 165
Aligné sûr car 185 dans la suite S 165 (185 - 165 = 4 x 4 + 4).
Il faut donc 4 étapes pour aligner "sûr" le produit 37 x 59. Mais nous savons maintenant que le nombre d'étapes n'est pas fonction de la grandeur de N.
#120 Re : Programmation » Alignement de produits » 05-09-2019 13:28:55
Salut Yoshi,
J'ai spécifié A < B dans le pseudo code. Pour C et F pas nécessaire (jusqu'à nouvel ordre).
#121 Re : Programmation » Alignement de produits » 05-09-2019 12:44:30
C'est ça. Non, S n'est pas spécialement premier, mais toujours impair. Dans ton exemple, F = 119 appartient à S 9.
J'ai insisté sur S 41 car c'est une exception. S 41 ne donne que des nombres premiers jusqu'à S^2 (1681). C'est le maintenant célèbre polynôme d'Euler.
Du coup, S 41 est une suite modèle qui nous permet d'analyser finement la succession des produits à partir de 41^2.
PS : le phénomène se produit également avec S 11 et S 17.
#122 Re : Programmation » Alignement de produits » 03-09-2019 08:23:22
Salut Leg. D'abord F ne peut pas être un nombre pair. Je te donne un exemple avec S 41 et 173 qui appartient à la suite (en admettant que F = 173).
Tu as bien : 173 - 41 = 132, c'est à dire 11 x 11 + 11, et donc : 11 x 11 + 11 + 41 = 173. Voilà, c'est la preuve que 173 appartient à la suite. Avec 179 par ex, ça ne marche pas : 11 x 11 + 11 = 132 alors qu'il faudrait 138. 179 n'appartient pas à S 41.
Avec ton exemple (S = 7), ça marcherait pour 97, mais pas pour 101.
#123 Re : Programmation » Alignement de produits » 02-09-2019 10:08:12
Un exemple en prenant S = 41, S^2 = 1681.
Le produit 19781 (131 x 151) est aligné car il est dans la suite d'origine S^2 1681. Ses deux facteurs 131 et 151 appartiennent tous deux à la suite S 41. Pour le test, le premier facteur suffit (131).
#124 Re : Programmation » Alignement de produits » 02-09-2019 09:59:39
En fait, si A, C ou F appartiennent à la suite S le produit est aligné à coup sûr. S'ils n'appartiennent pas à la suite S, le produit est soit non aligné sûr soit aligné non sûr. Dans ce cas le programme augmente la valeur de M jusqu'à ce qu'il réalise la condition "appartient à la suite S".
#125 Re : Programmation » Alignement de produits » 02-09-2019 09:46:58
Bonjour Yoshi,
Le programme s'arrête dès que la vérif de A, C ou F est positive ( si E^2 + E + S = A, C ou F), pour un Q donné. Dans ce cas, le produit est aligné sûr et P et ses deux diviseurs en cours sont affichés.
Les couples A et B, C et D et F et G sont séparés. Ce n'est pas comme dans le premier programme. Ils sont testés les uns après les autres.
Un produit est aligné s'il appartient à une suite de produits d'origine S^2 (post #62). Par rapport au premier programme, ce programme vérifie si le produit est "aligné sûr", car il peut y avoir des pseudo alignements, c'est à dire des produits qui n'appartiennent pas à la suite d'origine S^2.







