Bonsoir J’ai un programme à réaliser en Nsi qui est le suivant: Écrire un programme qui donne la somme de tous les nombres impairs présent dans la suite de Fibo
Informatique
prescillia69430
Question
Bonsoir
J’ai un programme à réaliser en Nsi qui est le suivant: Écrire un programme qui donne la somme de tous les nombres impairs présent dans la suite de Fibonacci et qui ne dépasse pas 4 millions
Suite de fibonacci:La suite de Fibonacci est une suite d’entier qui commence par un puis un et ensuite chaque nom est la somme des deux nombres précédent ainsi, elle débute par un, 1,2, 3,5 etc.
Les 10 premiers nombres cette suite sont : 1,1,2,3,5,8,13,21,34,55
Somme des nombres impaires de cette suite : 1 + 1 + 3 + 5 + 13 + 21 + 55 donc 99 j’ai donc commencé à faire le programme qui renvoie les 10premiers termes de la suite fibonacci ci dessous ;
N=10
u=range(0,N)
u[0]=1
for i in u[2:N]:
u[i]=u[i-1]+u[i-2]
print(u)
Il faut ensuite que je modifie le programme pour qu’il affiche uniquement la somme des nombres impairs en utilisant la commande « If b%2!=0 »
( il est aussi précisé sur ma feuille qu’il faut compter les impaires inférieurs à 4 millions donc on doit transformer la boucle « for » en boucle « While »)
Sauf que je n’y arrive vraiment pas je cherche depuis cette après midi
J’ai un programme à réaliser en Nsi qui est le suivant: Écrire un programme qui donne la somme de tous les nombres impairs présent dans la suite de Fibonacci et qui ne dépasse pas 4 millions
Suite de fibonacci:La suite de Fibonacci est une suite d’entier qui commence par un puis un et ensuite chaque nom est la somme des deux nombres précédent ainsi, elle débute par un, 1,2, 3,5 etc.
Les 10 premiers nombres cette suite sont : 1,1,2,3,5,8,13,21,34,55
Somme des nombres impaires de cette suite : 1 + 1 + 3 + 5 + 13 + 21 + 55 donc 99 j’ai donc commencé à faire le programme qui renvoie les 10premiers termes de la suite fibonacci ci dessous ;
N=10
u=range(0,N)
u[0]=1
for i in u[2:N]:
u[i]=u[i-1]+u[i-2]
print(u)
Il faut ensuite que je modifie le programme pour qu’il affiche uniquement la somme des nombres impairs en utilisant la commande « If b%2!=0 »
( il est aussi précisé sur ma feuille qu’il faut compter les impaires inférieurs à 4 millions donc on doit transformer la boucle « for » en boucle « While »)
Sauf que je n’y arrive vraiment pas je cherche depuis cette après midi
1 Réponse
-
1. Réponse SmartMind
J'ai un peu changé ton code:
import sys
# N = int(input("Entrer le maximum de la suite : "))
N = int(10)
u=list(range(0,N))
u[0]=1
math = 2
for i in u[2:N]:
u[i]=u[i-1]+u[i-2]
if u[i] % 2 != 0:
math = float(math) + float(u[i])
print("La somme est", math)
Compter les impaires inférieurs à 4 millions
import sys
u=list(range(0,50))
u[0]=1
count = 1
i = 1
while u[i-1] + u[i-2] < 4000000:
i+=1
u[i]=u[i-1]+u[i-2]
if u[i] % 2 != 0 :
count += 1
print("Count: ", count)
Les impaires inférieur à 4.000.000: 1,1,3,5,13,21,55,89,233,377,987,1597,4181,6765,17711,28657,75025,121393,317811,514229,1346269,2178309
Il y en a 22
Autres questions