julienen
Messages postés9Date d'inscriptiondimanche 24 février 2008StatutMembreDernière intervention16 mars 2008
-
24 févr. 2008 à 16:45
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 2014
-
24 févr. 2008 à 22:19
bonjour
j'ai deux fonctions une récursive et l'autre itérative qui renvoie la somme des carres dess entiers compris entre 1 et n :
Function sommeDesCarresRec(ByVal n As Long) As Long
If n > 1 Then
sommeDesCarresRec = n ^ 2 + sommeDesCarresRec(n - 1)
Else
sommeDesCarresRec = n
End If
End Function
Sub sommeDesCarresRe()
MsgBox sommeDesCarresRec(5)
End Sub
Function sommeDesCarres(ByVal n As Long) As Long
Dim i As Long
For i = 1 To n
sommeDesCarres = n ^ 2 + sommeDesCarres
Next i
End Function
Sub sommeDesCarre()
MsgBox sommeDesCarres(5)
End Sub
Seul hic c'est que ces deux fonctions ne renvoient pas le meme résultat (55 et 125 ) ; quelqu'un aurait il un meilleur moyen pour réecrire ma fonction itérative ?
enfin , y'aurait il un moyen de comparer les deux fonctions sur vba ?
julienen
Messages postés9Date d'inscriptiondimanche 24 février 2008StatutMembreDernière intervention16 mars 2008 24 févr. 2008 à 18:18
merci jmfmarques pour la fonction itérative , en effet j'ai pensé à utilisé while mais il faut que je m'entraine plus sur les boucles ...
par contre y'aurait il un moyen de comparer le résultat des deux fonctions sur VBA , par exemple avec une fonction testSommeDesCarres qui pourrait comparer les résultats des deux versions pour un n donné ?