Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 22-10-2008 20:12:40
- neptune57
- Membre
- Inscription : 22-10-2008
- Messages : 5
casse tete
bonjour tout le monde.
le problème est le suivant:
trouver deux entiers naturels a et b tels que:
a+b=S (S désigne la somme)
ab=P (P désigne le produit) et enfin SP= 29400
Est ce qu'il existe une méthode bien déterminée sans tâtonnement pour trouver a et b
merci.
Hors ligne
#2 22-10-2008 20:28:55
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 17 385
Re : casse tete
Bonjour touseul ;-)
ET bienvenue sur BibM@th...
Je considère que a et b sont les les racines d'une équation du 2nd degré.
Avec S = a + b et P = ab
l'équation est x² -Sx + P = 0
A partir de là, on doit bien arriver à quelque chose non ?
Déjà essayé ?
Ah ! Mais le problème est qu'il n'y a qu'une donnée...
Je doute qu'il n'y ait qu'un seul couple (a ; b) solution...
En effet :
[tex]29400=2^3\times 3\times 5^2\times 7^2[/tex]
permet de trouver pas mal de couples, en recherchant à partir de là, l'ensemble de tous les diviseurs de 29400 et en les prenant par paires, ça fait pas mal d'équation du 2nd degré à tester...
Peut-être aurais-je une idée plus précise demain.
@+
Hors ligne
#3 23-10-2008 08:37:50
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 17 385
Re : casse tete
Bonjour,
5 min de programmation et 1 s de fonctionnement m'ont donné la réponse : (a;b)=(24;25)
J'avais donc tort.
J'ai restreint le champ de calculs ainsi :
J'ai recherché l'ensemble des diviseurs entiers de 29400 par couples tels que SP=29400
Ensuite, pour que l'équation x²-Sx+P=0 admette 2 solutions distinctes il faut que le discriminant soit strictement positif : [tex]\Delta=S^2-4P\;et\;S^2-4P>0[/tex], ce qui entraîne une autre condition : [tex]S>2\sqrt P[/tex]
Enfin pour que les solutions soient entières, je dois ajouter que Delta soit un carré parfait
Les solutions sont alors données par :
[tex]a,b\,=\,\frac{S\,\pm\,\sqrt \Delta}{2}[/tex]
Pas d'autre idée pour l'instant...
@+
Hors ligne
#5 23-10-2008 12:24:46
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 17 385
Re : casse tete
Salut,
Ok, voici mon code :
# -*- coding: iso-8859-1 -*-
from math import sqrt
# Liste comprenant l'ensemble des diviseurs entiers de 29400
ch=[1,2,3,4,5,6,7,8,10,12,14,15,20,21,24,25,28,30,35,40,42,49,50,56,60,70]
ch=ch+[75,84,98,100,105,120,140,147,150,196,200,210,245,280,294,300,350,392,420]
ch=ch+[490,525,588,600,400,735,840,980,1050,1176,1225,1450,1470,1960,2100,2450,2940,3675,4200,4900,5880,7350,9800,14700,29400]
for p in ch: # on parcourt la liste des diviseurs
s=29400/p # on calcule la somme correspondant au produit déterminé
delta=s**2-4*p # calcul du discriminant
if delta>0: # test si discriminant positif
a,b=(s-sqrt(delta))/2,(s+sqrt(delta))/2 # calcul des racines de l'équation
if a<0: # On change de produit si a <0
continue
elif sqrt(delta)==int(sqrt(delta)): # test si Delta est un carré
print 'Somme =',s,'; Produit P =',p
print 'Les racines sont',int(a),'et',int(b)
else: # On reprend la boucle dans le cas contraire
continue
else:
break
J'ai envoyé une réponse à ton message.
@+
Hors ligne
Pages : 1







