Résolution d'un exercice math/python...
Bonjour,
je coince sur un exercice relatif à la programmation python et aux suites mathématiques.
Voilà, niveau énoncé ça donne :
soit la suite définie par : U(0)=3 et U(1)=1 & U(n+1)=2U(n-1)+U(n)
mais ça ne compile pas malheureusement...
Pourriez-vous s'il vous plait m'aider ?
Je vous remercie,
je coince sur un exercice relatif à la programmation python et aux suites mathématiques.
Voilà, niveau énoncé ça donne :
soit la suite définie par : U(0)=3 et U(1)=1 & U(n+1)=2U(n-1)+U(n)
Qestion : compléter le programme suivant afin qu'il affiche les termes de cette suite.
def U(n).... if ...... return 3 elif n==1 : return .... return ..... J'ai écrit le programme suivant def U(n): if n==0: return 3 if n==1: return 1 return 2*U(n-1)+Un for n in range(50): print("u({}) = {}". format(n,u(n)))
Pourriez-vous s'il vous plait m'aider ?
Je vous remercie,
bonne journée.
[Écrire du python sans tabulation ne peut pas compiler ! AD]
Réponses
-
Quel est le message d’erreur ?
Algebraic symbols are used when you do not know what you are talking about.
-- Schnoebelen, Philippe -
Bonsoir, oh le petit coquin : dans ta fonction il faut retourner U(n) et non U(n+1) sinon effectivement ça ne va pas aller !o!
return 2*U(n-2)+U(n-1)
-
Bien vu !
Un grand merci pour le coup de main, c'est sympa ! -
Par ailleurs, dans la dernière ligne, on aurait préféré lire U(n) plutôt que u(n) (sans parler des questions de tabulation).Au passage, cette méthode récursive est catastrophique pour calculer les valeurs de cette suite. Voici les temps de calcul pour les 35 premiers termes : il faut plus de 7 secondes pour arriver à $U_{34}=22906492247$.Je parie qu'aucun ordinateur personnel ne peut calculer $U_{50}$ de la sorte.Avec la procédure « itérative » suivante, il faut une demi-microseconde à mon ordinateur pour calcule $U_{34}$.
def V(n): if n==0: return 3 a, b = 3, 1 for _ in range(n-1): a, b = b, 2*a+b return b
Il faut alors moins d'une milliseconde pour calculer $U_{1000}$, qui a plus de trois cents chiffres.(Désolé si je bousille la suite du sujet... Je sais faire beaucoup plus rapide que cette fonction V par ailleurs.)
Connectez-vous ou Inscrivez-vous pour répondre.
Bonjour!
Catégories
- 164.5K Toutes les catégories
- 42 Collège/Lycée
- 22K Algèbre
- 37.4K Analyse
- 6.2K Arithmétique
- 56 Catégories et structures
- 1.1K Combinatoire et Graphes
- 13 Sciences des données
- 5.1K Concours et Examens
- 16 CultureMath
- 49 Enseignement à distance
- 2.9K Fondements et Logique
- 10.6K Géométrie
- 79 Géométrie différentielle
- 1.1K Histoire des Mathématiques
- 73 Informatique théorique
- 3.8K LaTeX
- 39K Les-mathématiques
- 3.5K Livres, articles, revues, (...)
- 2.7K Logiciels pour les mathématiques
- 24 Mathématiques et finance
- 329 Mathématiques et Physique
- 4.9K Mathématiques et Société
- 3.3K Pédagogie, enseignement, orientation
- 10.1K Probabilités, théorie de la mesure
- 786 Shtam
- 4.2K Statistiques
- 3.8K Topologie
- 1.4K Vie du Forum et de ses membres