Résultat faux (parfois) avec une macro

GUGUSSE2

XLDnaute Occasionnel
Bonjour,

J'ai un programme qui décompose en facteurs premiers un nombre.
J'ai voulu transformer un numérateur et un dénominateur (donnés par un autre programme) en facteurs premier.
Pour l'un, j'ai eu un résultat correct, pour l'autre, j'ai un résultat manifestement faux.

Quelle en est la raison ?

Ci-joint le programme et les deux essais.

Cordialement,
GUGUSSE2
 

Pièces jointes

  • Décomposition en facteurs premiers.xlsm
    13.7 KB · Affichages: 10
  • 104348.jpg
    104348.jpg
    14 KB · Affichages: 18
  • 103993.jpg
    103993.jpg
    13.5 KB · Affichages: 16
  • 33215.jpg
    33215.jpg
    13.9 KB · Affichages: 12

Dranreb

XLDnaute Barbatruc
Bonjour.
Vous n'allez que jusqu'à 250 or vous avez oublié de compter la valeur restante après les divisions.
Je l'écrirais peut être comme ça :
VB:
Function DevFactPrem(ByVal Valeur As Double) As String
   Dim Premier As Long, T() As String, N As Long
   Premier = 2
   Do
      Do While Valeur / Premier = Int(Valeur / Premier)
         N = N + 1: ReDim Preserve T(1 To N)
         T(N) = Premier
         Valeur = Valeur / Premier
         If Premier > Sqr(Valeur) Then Exit Do
         Loop
      If Premier = 2 Then Premier = 3 Else Premier = Premier + 2
      Loop Until Premier > Sqr(Valeur)
   If Valeur > 1 Then N = N + 1: ReDim Preserve T(1 To N): T(N) = Valeur
   DevFactPrem = Join(T, " × ")
   End Function
 

GUGUSSE2

XLDnaute Occasionnel
Bonjour, au risque de dire une connerie :
est-ce qu'une multiplication peut te donner le résultat 103993 ?! Il n'y a que des chiffres ronds sans virgule et c'est peut-être cela ton soucis ?
C'est le propre des facteurs premiers d'être "entiers" (sans virgule !).
103993 étant premier, la macro devrait me redonner ce même nombre !

Bonjour.
Vous n'allez que jusqu'à 250 or vous avez oublié de compter la valeur restante après les divisions.
Je l'écrirais peut être comme ça :
Je regarde ça de plus près :

Ça marche nettement mieux maintenant !
Merci.


Cordialement,
GUGUSSE2
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 203
Messages
2 086 191
Membres
103 152
dernier inscrit
Karibu