Bonjour,
Je suis en train de créer un petit simulateur en Excel VBA, voici la formule à laquelle j'arrive et qui me donne le résultat escompté :
1 + n1 + n1n2 + n1n2n3 + ... + n1n2n3...nN
Puis-je simplifier cette somme en une expression "classique" ?
Merci beaucoup pour vos conseils
En utilisant la méthode de Horner, la boucle par contre.
Exemple en Python
def horner(n):
N = len(n)
if N < 1:
return 1
s = 1 + n[-1]
for j in range(N-2,-1,-1):
s = 1 + n[j] * s
return s
print(horner([2,3,4,5]))
Super merci, effectivement je réalise que ce n'est pas possible autrement. Merci pour la méthode de Horner
Sauf si tu sais des choses sur les , évidemment
Par exemple si tu sais qu'une certaine condition est vérifiée et implique que , tu peux prendre
.
Ou si les sont tels que
est solution d'un équation
avec
une fonction que tu sais calculer ainsi que sa dérivée, tu peux essayer de trouver un zéro par grâce à Newton-Raphson ou à la méthode de la sécante.
Ou si les décroissent très rapidement, tu peux peut-être te contenter d'une approximation, c'est-à-dire de remplacer N par un indice j < N tel que
soit proche de
à
près où
est la marge d'erreur que tu t'autorises.
Ou bien encore, si les sont des entiers, il y a moyen d'accélérer les calculs en factorisant à chaque étape par le pgcd des
.
Y'a plein de choses qui peuvent arriver
Merci Umiere pour ces précisions ! Je n'ai pas besoin d'optimiser autant je vais en rester sur ton premier algorithme Bonne soirée
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :