Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#1 14-08-2019 14:01:59
- cosinuspax
- Membre
- Inscription : 23-02-2019
- Messages : 252
Alignement de produits
Bonjour,
Cet algorithme permet de transposer un produit P (a x b) dans un ensemble où P = K^2 + K + S avec a >= S et b > S, K étant un nombre entier et S un nombre impair.
Input A
Input B
Input Q (2n - 1 > 1)
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, alors si P > S^2, si A >= S, si B >= S alors print P, A et B. STOP.
Sinon, si A ou B < S alors P = N x T. Aller à next i.
C = A x (M - 2)
D = B x Q
Si P > S^2, si C >= S, si D >= S alors print P, C et D
F = A x Q
G = B x (M - 2)
Si P > S^2, si F >= S, si G >= S alors print P, F et G
Si C ou D < S AND si F ou G < S alors P = N x T. Aller à next i.
STOP
Exemple : 11 x 19 = 209 et Q = 3. Ce produit est non aligné puisque L > P, et il en est ainsi jusqu'à T = 15 (209 x 15 = 3135 = 55 x 57 = (11 x 5) x (19 x 3)).
Avec M = 1, deux formes de produits sont possibles. Exemple : 29 x 71, non aligné, aligné avec 29 x 71 x 3 (S = 15), donne 29 x 213 et 71 x 87.
Autre exemple : 13 x 103 = 1339. Ce produit est aligné tout de suite puisque L < P et 13 et 103 > S (7).
Pourquoi chercher de tels ensembles ? Parce qu'il jouent un rôle dans la factorisation des entiers.
Ces produits alignés se trouvent-ils (assez) rapidement pour de grands nombres ?
Merci à celui (ou celle) qui testera ce programme, car je ne suis pas informaticien.
Dernière modification par cosinuspax (21-08-2019 09:38:30)
Hors ligne
#2 14-08-2019 14:31:17
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 987
Re : Alignement de produits
Bonjour,
Désolé d'étaler mon ignorance crasse :
* Peux-tu me donner une définition précise de ce qu'est un produit aligné et donc "non aligné", apparemment (ou alors, je ne sais plus chercher) Google l'ignore aussi...
* Qu'est-ce que tu appelles "Transposer un produit dans un ensemble..." ? Quel ensemble ? Cette formulation répond-t-elle à une définition ? Si oui, laquelle (j'connais pas)... Transposer : au sens crypotographique de Transposition ? autre sens ?
* Peux-tu expliciter ta pensée : Si P > S^2 ET
A et B >= S ?
C'est : Si (P>S^2 ET A) et B>=S ((ET = opérateur AND) ou bien Si P>S^2 et (A>=S et B>=S) ?
En l'état, pour moi, c'est intraduisible en Python...
@+
Arx Tarpeia Capitoli proxima...
En ligne
#3 14-08-2019 15:48:16
- cosinuspax
- Membre
- Inscription : 23-02-2019
- Messages : 252
Re : Alignement de produits
Salut Yoshi,
Oui, il y a des erreurs. Je reviens là-dessus.
Hors ligne
#4 15-08-2019 10:21:39
- cosinuspax
- Membre
- Inscription : 23-02-2019
- Messages : 252
Re : Alignement de produits
J'ai modifié. A mon sens on peut le programmer moyennant quelques arrangements. Evidemment c'est expérimental (cela n'existe pas sur GOOGLE !). "Transposer" signifie convertir un produit P non aligné en produit "aligné", c'est à dire tel que P = K^2 + K + S avec a >= S et b > S, K étant la racine entière de P et S la différence P - K^2 + K.
Hors ligne
#5 15-08-2019 10:46:41
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 987
Re : Alignement de produits
Re,
Je vais essayer ça...
Je présume que par :
Si i = 1 M = 1
Si i > 1 M = M + 2
tu veux dire
Si i=1 alors M = 1
Sinon si i > 1 alors M = M + 2
Ensuite :
P = A x B
i = i + 1
R = racine entière de P
P se calcule, OK...
Mais i=i+1, c'est un non-sens (désolé !) : à ce stade, le programme ignore ce qu'est i et combien il vaut alors comment ajouter 1 à un nombre qui n'existe pas ?
Je vais démarrer en l'initialisant à 0.
D'ailleurs à la fin, je vois next i...
Donc a priori il faut créer une boucle qui incrémente i de 1 à chaque tour et agrémentée d'une condition de sortie (de sorte qu'on ne se retrouve pas avec une boucle sans fin)...
Bon je me lance.
@+
Arx Tarpeia Capitoli proxima...
En ligne
#6 15-08-2019 11:25:19
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 987
Re : Alignement de produits
Salit,
Autre souci :
Si L > P alors P = P x T
Si P = P x T alors next i
1ere ligne, ok.
Mais 2e ligne, un programme c'est "bête et méchant":
2 cas
1ere ligne on avait L>P, :
on a remplacé la valeur de P par P x T, ce qui fait l'ancienne valeur de P a disparu...
2e ligne tu testes si P=P*T, ce qui n'est possible que si T=1, or T=Q x M et Q>1 donc impossible...
Sauf si le P en rouge est l'ancienne valeur de P avant sa modif en 1ere ligne...
1ere ligne on avait L<= P,
pas de modif de P, on passe direct à la 2e ligne
2e ligne tu testes si P=P*T, ce qui n'est possible que si T=1, or T=Q x M et Q>1 donc impossible...
Il y a là quelque chose qui m'échappe : je continue mais ne le lance pas, je mets en attente...
Voilà quand même le code :
from math import sqrt
A=randint(3001,4999)
B=randint(3001,4999)
Q=2*randint(2,50)-1
P=A*B
R = int(sqrt(P))
L=R**2+R
i,stop=0,0
# print(A,B,Q,R,L)
while not stop:
i+=1
if i == 1:
M=1
else:
M+=2
while 1:
T=Q*M
if L>P:
P*=P*T
if P==P*T:
break
if L<P:
S=P-L
if P>S**2:
if A>=S and B>S:
stop=1
print ("P =",P," A =",A," B =",B)
break
C,D=A*Q,B*M
if P>S**2 and F>=S and G<=S:
print ("P =",P," F =",F," G =",G)
stop=1
break
if (C<S or D<S) and (F<S or G<S):
P=P*T
if P==P*T:
stop=1
break
Je commente le code.
J'importe le module tirage d'un nombre entier aléatoire
J'importe la racine carrée.
Je tire au hasard deux nombres A et B compris entre 3001 et 4999 bornes incluses
Je multiplie par 2 un nombre aléatoire tiré entre 2 et 50 et j'enlève 1.
Je calcule Q, P, R et L
J'initialise i et stop à 0
Si nécessaire j'affiche les tirages en supprimant le # (ce qui suit le # sur la même ligne est ignoré par le prog...)
1ere boucle : Tant que stop ne vaut pas 1, on fait la suite.
J'incrémente i de 1
Je teste i pour changer M
2e boucle (infinie que je dois casser pour sortir --> break)
Tant que 1 est vrai
P=P*T
if P==P*T:
break
Note que : si L>P on remplace P par P x T et que L>P ou non on passe à la condition suivante où on va tester si P=P*T
Si c'est le cas, je sors de la boucle 2 (grâce au break) et je reprends direct en dessous de while not stop.
Si ce n'est pas le cas, alors test si L<P
si c'est le cas, je calcule S=P-L
Maintenant, avant de sortir de la boucle 2, je donne à stop la valeur 1 qui entraînera la sortie de la boucle 1 une fois sorti (par break) de cette boucle 2...
La suite ne devrait pas te poser de problème de compréhension : Python est un langage assez clair...
J'attends que tu examines ce code par rapport à ce que tu as en tête et tes remarques probables..
Quand ce code sera fonctionnel, je tâcherai de le rationnaliser (pour l'accélérer) et on pourra tester des valeurs de A et B de plusieurs centaines de chiffres sans problème (j'ai déjà calculé le nombre d'or avec 20000 décimales en les faisant passer pour un nombre entier en n'utilisant que des instructions basiques).
@+
[EDIT]
J'ai repris ton exemple à la main en suivant tes lignes de pseudo-code (c'est ainsi que ça s'appelle).
J'ai fait
A=11
B=19
Q =3
P=A x B = 209
i=0 (ça manque vraiment !)
R= 14
L=14**2+14 = 196+14=210
i=i+1 (soit i=1)
Puisque i=1 alors M =1
T=Q x M = 3 x 1 =3
Puisque L(210) > P(209) alors P= P(209) x T(3)= 627
Et là : Si P = P x T alors next i
se traduit par : Si 627 = 627 x 3 alors je reviens à i =i+1
Et je ne vois toujours pas comment on pourrait avoir P = P x T sans avoir T =1...
En effet, M n'est égal à 1 que si i =1 donc M>= 1 et Q> 1 donc T = M x Q >1 donc a toujours T >1...
Comment P pourrait-il être égal au produit de lui-même par T >1 ? P x T > P... toujours !
Peux-tu faire ce boulot de A à Z sans qu'il y ait des ellipses dans tes calculs ?
Arx Tarpeia Capitoli proxima...
En ligne
#7 16-08-2019 09:52:40
- cosinuspax
- Membre
- Inscription : 23-02-2019
- Messages : 252
Re : Alignement de produits
Salut Yoshi,
Désolé pour les incohérences, je te relis consciencieusement, et je regarde ça.
A ++
Hors ligne
#8 16-08-2019 11:47:22
- cosinuspax
- Membre
- Inscription : 23-02-2019
- Messages : 252
Re : Alignement de produits
Je prends l'exemple 11 x 19 (209).
Pour la boucle, oui, on commence à zéro (i = 0). On entre 3 pour Q (on peut rentrer 5, 7, 9 ...).
N = 11 x 19 = 209
P = 209
i = 1
R = 14
L = 14^2 + 14 = 210
i = 1 donc M = 1
T = 3 x 1 = 3
210 > 209 donc P = 209 x 3 = 627. Aller à next i.
2ème passage
i = 2
R = 25
L = 25^2 + 25 = 650
i > 1 donc M = 1 + 2 = 3
T = 3 x 3 = 9
650 > 627 donc P = 209 x 9 = 1881. Aller à next i.
3ème passage
i = 3
R = 43
L = 43^2 + 43 = 1892
i > 1 donc M = 3 + 2 = 5
T = 3 x 5 = 15
1892 > 1881 donc P = 209 x 15 = 3135. Aller à next i.
4ème passage
i = 4
R = 55
L = 55^2 + 55 = 3080
i > 1 donc M = 5 + 2 = 7
T = 3 x 7 = 21
3080 < 3135 donc S = 3135 - 3080 = 55
Si P > S^2 (oui), si A >= S (non), si B > S (non). Continuer.
C = 11 x (M - 2) = 55
D = 19 x Q = 57
Si P > S^2 (oui), si C >= S (oui), si D > S (oui), alors print P, C et D.
F = 11 x 3 = 33
G = 19 x (M - 2) = 95
Si P > S^2 (oui), si F >= S (non), si G >= S (oui). Continuer.
Si C ou D < S (non) ET si F ou G < G (oui). Continuer.
STOP.
Des étourderies impardonnables. Il manquait la constante N. Cela devrait mieux marcher (à la longue j'espère ...). Merci pour ton aide précieuse.
Hors ligne
#9 16-08-2019 14:30:06
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 987
Re : Alignement de produits
Re,
J'ai eu un peu de mal à cause des ellipses encore présentes...
Mais ça fonctionne avec 11 et 19...
Par contre, aucun affichage concernant ta remarque :
Avec M = 1, deux formes de produits sont possibles. Exemple : 29 x 71, non aligné, aligné avec 29 x 71 x 3 (S = 15), donne 29 x 213 et 71 x 87
J'essaie maintenant avec trois nombres aléatoires A, B, Q)...
@+
[EDIT]
A = 4109 B = 4913 Q = 43 R = 4493 L = 20191542
Résultat sorti par le prog :
P = 6076442617 C = 28763 D = 211259
cohérent ou pas ?
from random import randint
from math import sqrt
A=randint(3001,4999)
B=randint(3001,4999)
Q=2*randint(2,25)-1
#A,B,Q=11,19,3
i,stop=0,0
P=A*B
N=P
R = int(sqrt(P))
L=R**2+R
print("A =",A," B =",B," Q =",Q ," R =",R," L =",L)
print("\n")
while not stop:
i+=1
if i == 1:
M=1
else:
M+=2
R = int(sqrt(P))
L=R**2+R
while 1:
T=Q*M
if L>P:
P=N*T
break
if L<P:
S=P-L
if P>S**2:
if A>=S and B>S:
stop=1
print ("P =",P," A =",A," B =",B)
break
C=A*(M-2)
D=B*Q
if C>=S and D>S:
stop=1
print ("P =",P," C =",C," D =",D)
break
F=A*Q
G = B*(M-2)
if F>=S and G>=S:
stop=1
print ("P =",P," F =",F," D =",G)
break
if (C<S or D <S) and (F<S or G<S):
P=N*T
break
Dernière modification par yoshi (16-08-2019 14:37:49)
Arx Tarpeia Capitoli proxima...
En ligne
#10 16-08-2019 19:54:49
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 987
Re : Alignement de produits
Re,
Petite modif :
from random import randint
from math import sqrt
A=randint(3001,4999)
B=randint(3001,4999)
print("Avec :",end=" ")
P=A*B
N=P
R = int(sqrt(P))
L=R**2+R
print("A =",A," B =",B," N =",N," R =",R," L =",L,"\n")
for Q in range (3,30,2):
print ("Si Q =",Q)
i,stop=0,0
while not stop:
i+=1
if i == 1:
M=1
else:
M+=2
R = int(sqrt(P))
L=R**2+R
while 1:
T=Q*M
if L>P:
P=N*T
break
if L<P:
S=P-L
if P>S**2:
if A>=S and B>S:
stop=1
print ("P =",P," A =",A," B =",B,"\n")
break
C=A*(M-2)
D=B*Q
if C>=S and D>S:
stop=1
print ("P =",P," C =",C," D =",D,"\n",)
break
F=A*Q
G = B*(M-2)
if F>=S and G>=S:
stop=1
print ("P =",P," F =",F," D =",G,"\n",)
break
if (C<S or D <S) and (F<S or G<S):
P=N*T
break
Et je récupère en sortie :
Avec : A = 4927 B = 3530 N = 17392310 R = 4170 L = 17393070
Si Q = 3
P = 260884650 F = 14781 D = 17650Si Q = 5
P = 260884650 C = 14781 D = 17650Si Q = 7
P = 852223190 C = 34489 D = 24710Si Q = 9
P = 1095715530 C = 34489 D = 31770Si Q = 11
P = 956577050 C = 24635 D = 38830Si Q = 13
P = 226100030 C = 4927 D = 45890Si Q = 15
P = 1304423250 C = 24635 D = 52950Si Q = 17
P = 887007810 C = 14781 D = 60010Si Q = 19
P = 2313177230 A = 4927 B = 3530Si Q = 21
P = 2313177230 A = 4927 B = 3530Si Q = 23
P = 2313177230 A = 4927 B = 3530Si Q = 25
P = 2313177230 A = 4927 B = 3530Si Q = 27
P = 2313177230 A = 4927 B = 3530Si Q = 29
P = 2313177230 A = 4927 B = 3530
Sortie instantanée...
Réactions ? Je présume que de Q=19 à Q = 29 cela ne peut pas être considéré comme des résultats... Dans ce cas, il ne faudrait pas afficher P, A et B ?
@+
Arx Tarpeia Capitoli proxima...
En ligne
#11 17-08-2019 10:23:09
- cosinuspax
- Membre
- Inscription : 23-02-2019
- Messages : 252
Re : Alignement de produits
Super. On peut s'arrêter à Q = 3 (T = 15) puisque le produit est aligné. C'est mieux si A et B sont premiers. Pour les doubles produits, il faut que les conditions 17 et 20 de mon organigramme soient réunies ensemble. Si tu pouvais afficher S et M ?
Merci.
A ++
Hors ligne
#12 17-08-2019 10:26:00
- cosinuspax
- Membre
- Inscription : 23-02-2019
- Messages : 252
Re : Alignement de produits
Q = 5 donne le même résultat avec M = 3 puisque 5 x 3 = 3 x 5. Je ne comprends pas 19 à 29.
Dernière modification par cosinuspax (17-08-2019 10:28:37)
Hors ligne
#13 17-08-2019 10:35:53
- cosinuspax
- Membre
- Inscription : 23-02-2019
- Messages : 252
Re : Alignement de produits
Je revois l'organigramme.
Hors ligne
#14 17-08-2019 10:50:00
- cosinuspax
- Membre
- Inscription : 23-02-2019
- Messages : 252
Re : Alignement de produits
A et B doivent toujours être impairs (et premiers) de manière à avoir S impair. Sorry, j'ai pas spécifié.
Hors ligne
#15 17-08-2019 11:08:33
- cosinuspax
- Membre
- Inscription : 23-02-2019
- Messages : 252
Re : Alignement de produits
J'ai modifié la ligne 14 de l'organigramme, valable uniquement si P = N (ce qui évite d'avoir 19 à 29 où P > N).
A ++
Hors ligne
#16 17-08-2019 11:13:24
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 987
Re : Alignement de produits
Re,
Je n'affiche plus les sorties avec uniquement P, A et B
J'ai créée une liste de nombres premiers et je tire aléatoirement 2 nombres A et B parmi eux.
Exemple pour 10 tirages.
TIRAGE n° 1
Avec : A = 51719 B = 43661 N = 2258103259 R = 47519 L = 2258102880Si Q = 3
Si Q = 5
Si Q = 7
Si Q = 9*******************
TIRAGE n° 2
Avec : A = 55217 B = 58909 N = 3252778253 R = 57033 L = 3252820122Si Q = 3
P = 68308343313 C = 386519 D = 176727 S = 77791 M = 9Si Q = 5
P = 81319456325 C = 276085 D = 294545 S = 93935 M = 7Si Q = 7
P = 68308343313 C = 165651 D = 412363 S = 77791 M = 5Si Q = 9
*******************
TIRAGE n° 3
Avec : A = 92671 B = 34763 N = 3221521973 R = 56758 L = 3221527322Si Q = 3
Si Q = 5
Si Q = 7
Si Q = 9*******************
TIRAGE n° 4
Avec : A = 30493 B = 8893 N = 271174249 R = 16467 L = 271178556Si Q = 3
P = 4067613735 F = 91479 G = 44465 S = 44229 M = 7Si Q = 5
P = 4067613735 C = 91479 D = 44465 S = 44229 M = 5Si Q = 7
Si Q = 9*******************
TIRAGE n° 5
Avec : A = 21487 B = 24169 N = 519319303 R = 22788 L = 519315732Si Q = 3
Si Q = 5
Si Q = 7
Si Q = 9*******************
TIRAGE n° 6
Avec : A = 29599 B = 10847 N = 321060353 R = 17918 L = 321072642Si Q = 3
P = 4815905295 C = 147995 D = 32541 S = 31083 M = 7Si Q = 5
P = 4815905295 C = 88797 D = 54235 S = 31083 M = 5Si Q = 7
P = 51690716833 F = 207193 G = 249481 S = 193453 M = 25Si Q = 9
P = 14447715885 C = 147995 D = 97623 S = 36483 M = 7*******************
TIRAGE n° 7
Avec : A = 87421 B = 54151 N = 4733934571 R = 68803 L = 4733921612Si Q = 3
Si Q = 5
Si Q = 7
Si Q = 9*******************
TIRAGE n° 8
Avec : A = 22993 B = 13711 N = 315257023 R = 17755 L = 315257780Si Q = 3
P = 4728855345 C = 114965 D = 41133 S = 23823 M = 7Si Q = 5
P = 4728855345 C = 68979 D = 68555 S = 23823 M = 5Si Q = 7
Si Q = 9*******************
TIRAGE n° 9
Avec : A = 42467 B = 53437 N = 2269309079 R = 47637 L = 2269331406Si Q = 3
P = 20423781711 C = 127401 D = 160311 S = 84879 M = 5Si Q = 5
P = 79425817765 C = 297269 D = 267185 S = 205315 M = 9Si Q = 7
P = 79425817765 C = 212335 D = 374059 S = 205315 M = 7Si Q = 9
P = 224661598821 C = 467137 D = 480933 S = 292581 M = 13*******************
TIRAGE n° 10
Avec : A = 9043 B = 8573 N = 77525639 R = 8804 L = 77519220Si Q = 3
Si Q = 5
Si Q = 7
Si Q = 9*******************
Temps écoulé : 0.91 s
Au vu de l'absence d'affichage pour certaines valeurs de Q (due à la suppression de sortie de P,A,B ?), j'ai poussé plus loin avec Q dans un 2e essai... Même constat.
Je vais donc relever les A et B incriminés et ne tester qu'eux en poussant les valeurs de Q au delà de 29...
TIRAGE n° 1
Avec : A = 67447 B = 35291 N = 2380272077 R = 48788 L = 2380317732Si Q = 3
P = 49985713617 F = 202341 G = 247037 S = 156567 M = 9Si Q = 5
P = 83309522695 F = 337235 G = 247037 S = 225373 M = 9Si Q = 7
P = 49985713617 C = 202341 D = 247037 S = 156567 M = 5Si Q = 9
P = 235646935623 C = 741917 D = 317619 S = 281833 M = 13Si Q = 11
Si Q = 13
Si Q = 15
Si Q = 17
Si Q = 19
Si Q = 21
Si Q = 23
Si Q = 25
Si Q = 27
Si Q = 29*******************
TIRAGE n° 2
Avec : A = 92401 B = 69239 N = 6397752839 R = 79985 L = 6397680210Si Q = 3
Si Q = 5
Si Q = 7
Si Q = 9
Si Q = 11
Si Q = 13
Si Q = 15
Si Q = 17
Si Q = 19
Si Q = 21
Si Q = 23
Si Q = 25
Si Q = 27
Si Q = 29*******************
TIRAGE n° 3
Avec : A = 74887 B = 64223 N = 4809467801 R = 69350 L = 4809491850Si Q = 3
P = 72142017015 C = 374435 D = 192669 S = 85959 M = 7Si Q = 5
P = 72142017015 C = 224661 D = 321115 S = 85959 M = 5Si Q = 7
P = 370329020677 C = 823757 D = 449561 S = 178015 M = 13Si Q = 9
P = 389566891881 C = 673983 D = 578007 S = 548625 M = 11Si Q = 11
P = 264520729055 C = 374435 D = 706453 S = 295515 M = 7Si Q = 13
P = 187569244239 C = 224661 D = 834899 S = 130683 M = 5Si Q = 15
P = 937846221195 C = 973531 D = 963345 S = 208995 M = 15Si Q = 17
P = 572326668319 C = 524209 D = 1091791 S = 375313 M = 9Si Q = 19
P = 1187938546847 C = 973531 D = 1220237 S = 951297 M = 15Si Q = 21
P = 1110987062031 C = 823757 D = 1348683 S = 442909 M = 13Si Q = 23
P = 1880501910191 C = 1273079 D = 1477129 S = 1194909 M = 19Si Q = 25
P = 841656865175 C = 524209 D = 1605575 S = 161033 M = 9Si Q = 27
P = 1168700675643 C = 673983 D = 1734021 S = 222483 M = 11Si Q = 29
*******************
TIRAGE n° 4
Avec : A = 39461 B = 56773 N = 2240319353 R = 47332 L = 2240365556Si Q = 3
Si Q = 5
Si Q = 7
Si Q = 9
Si Q = 11
Si Q = 13
Si Q = 15
Si Q = 17
Si Q = 19
Si Q = 21
Si Q = 23
Si Q = 25
Si Q = 27
Si Q = 29*******************
TIRAGE n° 5
Avec : A = 20011 B = 88069 N = 1762348759 R = 41980 L = 1762362380Si Q = 3
P = 58157509047 C = 220121 D = 264207 S = 86925 M = 13Si Q = 5
P = 8811743795 F = 100055 G = 88069 S = 73025 M = 3Si Q = 7
Si Q = 9
Si Q = 11
Si Q = 13
Si Q = 15
Si Q = 17
Si Q = 19
Si Q = 21
Si Q = 23
Si Q = 25
Si Q = 27
Si Q = 29*******************
TIRAGE n° 6
Avec : A = 61673 B = 48449 N = 2987995177 R = 54662 L = 2987988906Si Q = 3
Si Q = 5
Si Q = 7
Si Q = 9
Si Q = 11
Si Q = 13
Si Q = 15
Si Q = 17
Si Q = 19
Si Q = 21
Si Q = 23
Si Q = 25
Si Q = 27
Si Q = 29*******************
TIRAGE n° 7
Avec : A = 91423 B = 92401 N = 8447576623 R = 91910 L = 8447540010Si Q = 3
Si Q = 5
Si Q = 7
Si Q = 9
Si Q = 11
Si Q = 13
Si Q = 15
Si Q = 17
Si Q = 19
Si Q = 21
Si Q = 23
Si Q = 25
Si Q = 27
Si Q = 29*******************
TIRAGE n° 8
Avec : A = 89069 B = 30517 N = 2718118673 R = 52135 L = 2718110360Si Q = 3
Si Q = 5
Si Q = 7
Si Q = 9
Si Q = 11
Si Q = 13
Si Q = 15
Si Q = 17
Si Q = 19
Si Q = 21
Si Q = 23
Si Q = 25
Si Q = 27
Si Q = 29*******************
TIRAGE n° 9
Avec : A = 57073 B = 62039 N = 3540751847 R = 59504 L = 3540785520Si Q = 3
Si Q = 5
Si Q = 7
Si Q = 9
Si Q = 11
Si Q = 13
Si Q = 15
Si Q = 17
Si Q = 19
Si Q = 21
Si Q = 23
Si Q = 25
Si Q = 27
Si Q = 29*******************
TIRAGE n° 10
Avec : A = 95801 B = 60017 N = 5749688617 R = 75826 L = 5749658102Si Q = 3
Si Q = 5
Si Q = 7
Si Q = 9
Si Q = 11
Si Q = 13
Si Q = 15
Si Q = 17
Si Q = 19
Si Q = 21
Si Q = 23
Si Q = 25
Si Q = 27
Si Q = 29*******************
Temps écoulé : 1.42 s
J'attends tes réactions.
@+
Arx Tarpeia Capitoli proxima...
En ligne
#17 17-08-2019 16:29:42
- cosinuspax
- Membre
- Inscription : 23-02-2019
- Messages : 252
Re : Alignement de produits
J'accuse réception. Donne-moi un peu de temps.
A++
Hors ligne
#18 17-08-2019 17:10:05
- cosinuspax
- Membre
- Inscription : 23-02-2019
- Messages : 252
Re : Alignement de produits
Le tirage n°3 première série donne un L supérieur à N. Il n'est pas "aligné".
Hors ligne
#19 17-08-2019 17:23:19
- cosinuspax
- Membre
- Inscription : 23-02-2019
- Messages : 252
Re : Alignement de produits
Il l'est avec Q = 3 et M = 1. On a deux produits : 92671 x 104289 et 34763 x 278013. S = 4747.
Hors ligne
#20 17-08-2019 19:34:25
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 987
Re : Alignement de produits
Re,
Bon, et alors ? à part ça ?
92671 * 104289 - 34763 * 278013 = 0
Et pourquoi ton prog informatisé n'affiche aucun résultat ?
Où est l'erreur ?
S'il n'y a pas d'erreur, il faudrait que le prog teste ce calcul et l'affiche lorsque le résultat est 0...
@+
Arx Tarpeia Capitoli proxima...
En ligne
#21 17-08-2019 20:14:21
- cosinuspax
- Membre
- Inscription : 23-02-2019
- Messages : 252
Re : Alignement de produits
A part ça, ça semble fonctionner. Je tente de corriger s'il y a lieu (apparemment oui).
Hors ligne
#22 17-08-2019 21:05:56
- cosinuspax
- Membre
- Inscription : 23-02-2019
- Messages : 252
Re : Alignement de produits
Je ne comprends pas. Pour 92671 x 34763 = 3221521973, le programme doit trouver que L > N et donc calculer P = N x T, c'est à dire 9664565919. Ensuite (passage n°2) on calcule le nouveau M (1 + 2) = 3. Comme P > N, on arrive en ligne 15 : C = A x (M - 2) = 92671 et D = B x Q = 104289. Comme P>S^2, C>S et D>S il doit imprimer (P) C et D. Ensuite il fait la même chose avec F et G et trouve un produit inversé qui donne évidemment le même P (9664565919), et imprime après vérif (P), F et G. Où est-ce que ça cloche ?
Dernière modification par cosinuspax (18-08-2019 09:20:17)
Hors ligne
#23 17-08-2019 21:26:43
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 987
Re : Alignement de produits
Re,
Je ferais un essai spécifique avec affichage des valeurs intermédiaires...
Là, je pense qu'on verra...
@+
Arx Tarpeia Capitoli proxima...
En ligne
#24 18-08-2019 09:35:33
- cosinuspax
- Membre
- Inscription : 23-02-2019
- Messages : 252
Re : Alignement de produits
Salut Yoshi,
Pour les tirages n°1, 5, 7 et 10 (1ère série) pas de problème car ils sont tout de suite alignés. Pas de problème non plus pour les tirages 2, 6, 7, 8 et 10 de la série 2.
Hors ligne
#25 18-08-2019 12:30:08
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 987
Re : Alignement de produits
Salut,
c'est mon interprétation qui cloche...
Je ne comprenais pas l'intérêt d'afficher P, A et B : j'ai shunté...
J'ai vu que tu as encore procédé à une correction hier à 16 h 32 : pas annoncé, je ne me suis pas méfié...
En regardant de près, j'ai vu que tu as ajouté devant le premier SI P>S^2, Si P=N.
J'ai modifié mon script en conséquence et j'obtiens ça (avec uniquement Q=3) :
Avec : A = 92671 B = 34763 N = 3221521973 R = 56758 L = 3221527322
Si Q = 3
P = 9664565919 C = 92671 D = 104289 S = 4747 M = 3
Et rien après...
Que t'en semble ?
@+
Arx Tarpeia Capitoli proxima...
En ligne