FACTORIELS ET COMBINAISONS

Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 - 18 juil. 2005 à 02:42
amezghal Messages postés 385 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 21 août 2015 - 10 mars 2006 à 17:08
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/32744-factoriels-et-combinaisons

amezghal Messages postés 385 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 21 août 2015 5
10 mars 2006 à 17:08
je trouve que tu evite pas les erreurs dans ce code
exemple ci on a entré comme valeur pour le factoriel(-5)
car dans ton code t'a ecrit
if i<=1 then y a pas de factoriel pour les négatfs
merci
rambc Messages postés 224 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 29 mars 2009
28 sept. 2005 à 10:39
Pour info., la méthode récursive pour calculer une combinaison devient intéressante pour des TRES gros entiers car elle fait disparaître des multiplications et des divisions qui peuvent être TRES coûteuse en temps pour de TRES gros entiers .
Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 8
20 juil. 2005 à 08:12
J'avais pas vu tes autres sources ... sans vouloir te blesser ... Hé man, faut que t'arretes de pondre des applis de math avec la même interface graphique :)

J'sais pas moi, éclates toi à faire autre chose ... trouves toi une idées de soft qui te plait et trace...
Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 8
18 juil. 2005 à 10:47
vi forcement la recursivitée, ça fait souvent mal niveau charge processeur, à cause des empilement de contextes...

Pour combinaison, c'est juste pour te presenter une autre façon de programmer la fonction de calcul (sur même modele que factorielle). Mais c'est clair que niveau performance c'est pas le top ...
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
18 juil. 2005 à 06:58
J'ai effectué les modifications et c'est assez subtil surtout Factoriel = n * Factoriel(n - 1). Cependant je ne pense pas que Combinaison = (Combinaison(n - 1, p - 1) + Combinaison(n - 1, p)) apporte quelque chose de supplémentaire au programme (en plus sa le ralentit)
Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 8
18 juil. 2005 à 02:42
Factorielle pour le recursif, c'est pas mal non plus

Function Factoriel(n As String) As String
If n <= 1 Then
Factoriel = 1
Else
Factoriel = n * Factoriel(n - 1)
End If
End Function

Idem pour les combinaisons:

Function Combinaison(n As Integer, p As Integer) As Integer
If (p = 1) Then
Combinaison = n
ElseIf (p = n) Then
Combinaison = 1
Else
Combinaison = (Combinaison(n - 1, p - 1) + Combinaison(n - 1, p))
End If
End Function


dans Command5_Click tu peux utiliser une seule variable temporaire :
tmp = Text2.Text
Text2.Text = Text3.Text
Text3.Text = tmp

++

Zlub
Rejoignez-nous