Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#1 14-08-2019 13: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 08:38:30)

Hors ligne

#2 14-08-2019 13:31:17

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 946

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...

Hors ligne

#3 14-08-2019 14: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 09: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 09:46:41

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 946

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...

Hors ligne

#6 15-08-2019 10:25:19

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 946

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 random import randint
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

        if L>P:
            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...

Hors ligne

#7 16-08-2019 08: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 10: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 13:30:06

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 946

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 13:37:49)


Arx Tarpeia Capitoli proxima...

Hors ligne

#10 16-08-2019 18:54:49

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 946

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 = 17650

Si Q = 5
P = 260884650   C = 14781   D = 17650

Si Q = 7
P = 852223190   C = 34489   D = 24710

Si Q = 9
P = 1095715530   C = 34489   D = 31770

Si Q = 11
P = 956577050   C = 24635   D = 38830

Si Q = 13
P = 226100030   C = 4927   D = 45890

Si Q = 15
P = 1304423250   C = 24635   D = 52950

Si Q = 17
P = 887007810   C = 14781   D = 60010

Si Q = 19
P = 2313177230   A = 4927   B = 3530

Si Q = 21
P = 2313177230   A = 4927   B = 3530

Si Q = 23
P = 2313177230   A = 4927   B = 3530

Si Q = 25
P = 2313177230   A = 4927   B = 3530

Si Q = 27
P = 2313177230   A = 4927   B = 3530

Si 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...

Hors ligne

#11 17-08-2019 09: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 09: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 09:28:37)

Hors ligne

#13 17-08-2019 09:35:53

cosinuspax
Membre
Inscription : 23-02-2019
Messages : 252

Re : Alignement de produits

Je revois l'organigramme.

Hors ligne

#14 17-08-2019 09: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 10: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 10:13:24

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 946

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 = 2258102880

Si Q = 3
Si Q = 5
Si Q = 7
Si Q = 9

                  *******************
                        TIRAGE n°  2
Avec : A = 55217  B = 58909  N = 3252778253  R = 57033  L = 3252820122

Si Q = 3
P = 68308343313   C = 386519   D = 176727  S = 77791  M = 9

Si Q = 5
P = 81319456325   C = 276085   D = 294545  S = 93935  M = 7

Si Q = 7
P = 68308343313   C = 165651   D = 412363  S = 77791  M = 5

Si Q = 9

                  *******************
                        TIRAGE n°  3
Avec : A = 92671  B = 34763  N = 3221521973  R = 56758  L = 3221527322

Si Q = 3
Si Q = 5
Si Q = 7
Si Q = 9

                  *******************
                        TIRAGE n°  4
Avec : A = 30493  B = 8893  N = 271174249  R = 16467  L = 271178556

Si Q = 3
P = 4067613735   F = 91479   G = 44465  S = 44229  M = 7

Si Q = 5
P = 4067613735   C = 91479   D = 44465  S = 44229  M = 5

Si Q = 7
Si Q = 9

                  *******************
                        TIRAGE n°  5
Avec : A = 21487  B = 24169  N = 519319303  R = 22788  L = 519315732

Si Q = 3
Si Q = 5
Si Q = 7
Si Q = 9

                  *******************
                        TIRAGE n°  6
Avec : A = 29599  B = 10847  N = 321060353  R = 17918  L = 321072642

Si Q = 3
P = 4815905295   C = 147995   D = 32541  S = 31083  M = 7

Si Q = 5
P = 4815905295   C = 88797   D = 54235  S = 31083  M = 5

Si Q = 7
P = 51690716833   F = 207193   G = 249481  S = 193453  M = 25

Si 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 = 4733921612

Si Q = 3
Si Q = 5
Si Q = 7
Si Q = 9

                  *******************
                        TIRAGE n°  8
Avec : A = 22993  B = 13711  N = 315257023  R = 17755  L = 315257780

Si Q = 3
P = 4728855345   C = 114965   D = 41133  S = 23823  M = 7

Si Q = 5
P = 4728855345   C = 68979   D = 68555  S = 23823  M = 5

Si Q = 7
Si Q = 9

                  *******************
                        TIRAGE n°  9
Avec : A = 42467  B = 53437  N = 2269309079  R = 47637  L = 2269331406

Si Q = 3
P = 20423781711   C = 127401   D = 160311  S = 84879  M = 5

Si Q = 5
P = 79425817765   C = 297269   D = 267185  S = 205315  M = 9

Si Q = 7
P = 79425817765   C = 212335   D = 374059  S = 205315  M = 7

Si 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 = 77519220

Si 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 = 2380317732

Si Q = 3
P = 49985713617   F = 202341   G = 247037  S = 156567  M = 9

Si Q = 5
P = 83309522695   F = 337235   G = 247037  S = 225373  M = 9

Si Q = 7
P = 49985713617   C = 202341   D = 247037  S = 156567  M = 5

Si Q = 9
P = 235646935623   C = 741917   D = 317619  S = 281833  M = 13

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°  2
Avec : A = 92401  B = 69239  N = 6397752839  R = 79985  L = 6397680210

Si 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 = 4809491850

Si Q = 3
P = 72142017015   C = 374435   D = 192669  S = 85959  M = 7

Si Q = 5
P = 72142017015   C = 224661   D = 321115  S = 85959  M = 5

Si Q = 7
P = 370329020677   C = 823757   D = 449561  S = 178015  M = 13

Si Q = 9
P = 389566891881   C = 673983   D = 578007  S = 548625  M = 11

Si Q = 11
P = 264520729055   C = 374435   D = 706453  S = 295515  M = 7

Si Q = 13
P = 187569244239   C = 224661   D = 834899  S = 130683  M = 5

Si Q = 15
P = 937846221195   C = 973531   D = 963345  S = 208995  M = 15

Si Q = 17
P = 572326668319   C = 524209   D = 1091791  S = 375313  M = 9

Si Q = 19
P = 1187938546847   C = 973531   D = 1220237  S = 951297  M = 15

Si Q = 21
P = 1110987062031   C = 823757   D = 1348683  S = 442909  M = 13

Si Q = 23
P = 1880501910191   C = 1273079   D = 1477129  S = 1194909  M = 19

Si Q = 25
P = 841656865175   C = 524209   D = 1605575  S = 161033  M = 9

Si Q = 27
P = 1168700675643   C = 673983   D = 1734021  S = 222483  M = 11

Si Q = 29

                  *******************
                        TIRAGE n°  4
Avec : A = 39461  B = 56773  N = 2240319353  R = 47332  L = 2240365556

Si 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 = 1762362380

Si Q = 3
P = 58157509047   C = 220121   D = 264207  S = 86925  M = 13

Si Q = 5
P = 8811743795   F = 100055   G = 88069  S = 73025  M = 3

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°  6
Avec : A = 61673  B = 48449  N = 2987995177  R = 54662  L = 2987988906

Si 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 = 8447540010

Si 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 = 2718110360

Si 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 = 3540785520

Si 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 = 5749658102

Si 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...

Hors ligne

#17 17-08-2019 15: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 16: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 16: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 18:34:25

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 946

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...

Hors ligne

#21 17-08-2019 19: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 20: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 08:20:17)

Hors ligne

#23 17-08-2019 20:26:43

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 946

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...

Hors ligne

#24 18-08-2019 08: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 11:30:08

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 946

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...

Hors ligne

Pied de page des forums