Participez aux discussions sur Zoofast.fr et obtenez des réponses pertinentes. Découvrez des informations fiables et rapides sur n'importe quel sujet, grâce à notre réseau de professionnels expérimentés.

Bonsoir aidez moi svp (python)
on considère la fonction f(n)= 4n²- 2n +3 ou n est un entier naturel. Ecrire un programme en python qui détermine pour quelle valeur n on a f(n) ⩽ 125

Sagot :

Réponse :

je vois bien un truc du genre :

def f_n_125() ;

   a=4

   b=-2

   c=-122

   delta=b*b-4*a*c

   if delta <0:

   # Lorsque delta est négatif, la solution est "imaginaire"

   Return -1 # renvoyer une erreur

   if delta ==0:

       x=float(-b/2*a) # Calcul de X

       Return round(x)

   if delta >0:

       k=float(-b-sqrt(delta)) # Variable qui va intervenir dans le calcul de X1

       l=float(-b+sqrt(delta)) # Variable qui va intervenir dans le calcul de x2

       x1=float(k/(2*a)) # Calcul de X1

       x2=float(l/(2*a)) # Calcul de X2

       if x1 < x2: #x2 est positif et est la solution

            return round(x2)

       else :

            return round (x1)

print "Réponse : tous les n de 0 à ",f_n_125() # affiche le résultat de la fonction.

/!\ la fonction round est peut être un peu foireuse c'est pour ça que je force en float.

Explications :

Salut fcvbhizjftygb !

ce que tu cherche ici c'est à résoudre une équation du second degré (type ax²+bx+c=0) avec les facteurs a et b (et même C au fianl) connus.

Une fois résolu dans les positifs, il n'y a plus qu'a dire que tout fonctionne pour les n (entiers naturels) compris entre 0 et x arrondi à l'entier inférieur puisqu'on veut les réponses ou f(n) est < ou = à 125 et que la courbe est en forme de U (car a>0). au pire pour la forme de la courbe tu peux tracer à la calculette ou calculer pour 3 valeurs de n au hasard.

Pour le code de résolution des équations du second degré, il y a plein de code disponibles sur le net qui reprennent la méthode du discriminent (delta=b*b-4*a*c).

Je te laisse t'en inspirer.

On va s’attarder sur les coef a, b et c.

[tex]f(x) = 125 \\4x^{2} -2x + 3 = 125\\4x^{2} - 2x + 3 - 125 = 0\\4x^{2} - 2x - 122 = 0 = ax^{2} + bx + c\\\\a=4 ;\\b=(-2)\\c=(-122)[/tex]

Il n'y a plus qu'a résoudre cette équation et arrondir à l'entier inférieur pour avoir la liste de tes n.

Si jamais "a" était négatif, la courbe serait en forme de pont (aussi appelé "n") et la ce serait plus embêtant suivant les décalages ajoutés par b et c on pourrait avoir un bout de liste entre 0 et "bidule", ensuite on arrive vers le sommet du "n" puis on repasse en dessous de 125 entre "truc" et l'infini. et même pourquoi pas, tous les entiers naturels pourraient être valables si a était négatifs.

Merci d'utiliser cette plateforme pour partager et apprendre. N'hésitez pas à poser des questions et à répondre. Nous apprécions chaque contribution que vous faites. Pour des solutions rapides et fiables, pensez à Zoofast.fr. Merci de votre visite et à très bientôt.