Generer un nombre à partir de la somme de ces chiffres

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
SPH
Messages : 4949
Inscription : mer. 09/nov./2005 9:53

Re: Generer un nombre à partir de la somme de ces chiffres

Message par SPH »

lepiaf31 a écrit :Pour éviter de devoir mettre un 1 au début, je vais prendre 9 chiffres (au lieu de 10). Mais sinon mon algorithme va-t-il marcher correctement selon vous ?
Code le, et on te dira...

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
lepiaf31
Messages : 510
Inscription : dim. 25/mars/2007 13:44
Localisation : Toulouse, France
Contact :

Re: Generer un nombre à partir de la somme de ces chiffres

Message par lepiaf31 »

voilà, ca à l'air de plutôt bien marcher:

Code : Tout sélectionner

Procedure decompose(nombre, nbChiffre)
  nombreFinal = 0
  i = 1
  
  While nombre > 9
    diff = (nbChiffre*9)-nombre
    If diff >= 10
      min = 0
    Else
      min = 9-diff
    EndIf
    
    nb = Random(9-min)+min
    nombre - nb
    nbChiffre - 1
    
    nombreFinal + i*nb
    i = i*10
  Wend
  
  nombreFinal + i*nombre
  
  ProcedureReturn nombreFinal
EndProcedure

Debug decompose(50, 9)
 
Dernière modification par lepiaf31 le mar. 27/avr./2010 17:57, modifié 1 fois.
Avatar de l’utilisateur
SPH
Messages : 4949
Inscription : mer. 09/nov./2005 9:53

Re: Generer un nombre à partir de la somme de ces chiffres

Message par SPH »

nan, tu as un bug

ca, c'est parfait :

Code : Tout sélectionner

For i=1 To 100

;;; l'algo
Repeat
nb=50
c=1
nb$=Str(nb)+" = "
While nb>9
nb1= Random(8)+1
c+1
nb-nb1
nb$+Str(nb1)+"+"
Wend
nb$+Str(nb)
Until c<10
Debug nb$
;;; fin de l'algo

Next

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
lepiaf31
Messages : 510
Inscription : dim. 25/mars/2007 13:44
Localisation : Toulouse, France
Contact :

Re: Generer un nombre à partir de la somme de ces chiffres

Message par lepiaf31 »

Un bug ? Je pourrais savoir où ?
Avatar de l’utilisateur
SPH
Messages : 4949
Inscription : mer. 09/nov./2005 9:53

Re: Generer un nombre à partir de la somme de ces chiffres

Message par SPH »

lepiaf31 a écrit :Un bug ? Je pourrais savoir où ?
ton LONG peux etre negatif !

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
lepiaf31
Messages : 510
Inscription : dim. 25/mars/2007 13:44
Localisation : Toulouse, France
Contact :

Re: Generer un nombre à partir de la somme de ces chiffres

Message par lepiaf31 »

Je pense avoir corrigé le bug =)
Avatar de l’utilisateur
SPH
Messages : 4949
Inscription : mer. 09/nov./2005 9:53

Re: Generer un nombre à partir de la somme de ces chiffres

Message par SPH »

lepiaf31 a écrit :Je pense avoir corrigé le bug =)
oui, ca marche (oublie pas que tu a des zero aussi)

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
lepiaf31
Messages : 510
Inscription : dim. 25/mars/2007 13:44
Localisation : Toulouse, France
Contact :

Re: Generer un nombre à partir de la somme de ces chiffres

Message par lepiaf31 »

Bah c'est pas grave, je laisse les zero ca pose pas de problème
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Generer un nombre à partir de la somme de ces chiffres

Message par Ar-S »

Si t'es pas en train de nous faire de la numérologie lepiaf31 :D
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
lepiaf31
Messages : 510
Inscription : dim. 25/mars/2007 13:44
Localisation : Toulouse, France
Contact :

Re: Generer un nombre à partir de la somme de ces chiffres

Message par lepiaf31 »

:D C'est presque ca ^^
N'empeche que je suis content de ma fonction =)
Répondre