L' algo d' une équation

L' algo d' une équation - Algo - Programmation

Marsh Posté le 06-02-2006 à 21:23:06    

Bonsoir,
 
J' ai crée un algo pour savoir si (a-b)²/(-a-b) = (a²-b²)/(a+b)
 
Définir un entier aléatoire A
Définir un entier aléatoire B
A > B
B=>1
 
Calculer (A-B)^2/(A-B)
Le résultat deviendra U
Calculer  (A^2-B^2)/(A+B)
Le résultat deviendra V
 
Comparer U et V
Si U = V  
Alors recommencer
Sinon afficher U et V

Reply

Marsh Posté le 06-02-2006 à 21:23:06   

Reply

Marsh Posté le 06-02-2006 à 21:29:43    

oui, il fait beau !

Reply

Marsh Posté le 06-02-2006 à 21:36:11    

Maintenant il faut deviner la question. Je propose la division par zéro. :-)


---------------
Viendez vous battre à Prologin \o/
Reply

Marsh Posté le 06-02-2006 à 21:40:20    

L' algo semble être bon :D
 
Comment pourrais le convertir maintenant
 A>B=>1  
 

Reply

Marsh Posté le 06-02-2006 à 21:52:48    

Bon je l'ai fait en TI Basic :o
 

Code :
  1. randInt(1,2500)->A
  2. randInt(1,2500)->B
  3. (A-B)^2/(A-B)->U
  4. (A^2-B^2)/(A+B)->V
  5. Disp U
  6. Disp V
  7. If C=D:Then
  8. Disp "OK"
  9. Else
  10. Disp "U est different de V !"
  11. End


 
Sinon en infinite loop :

Code :
  1. 1->Y
  2. 2->Z
  3. While Y<>Z
  4. randInt(1,2500)->A
  5. randInt(1,2500)->B
  6. (A-B)^2/(A-B)->U
  7. (A^2-B^2)/(A+B)->V
  8. Disp U
  9. Disp V
  10. If C=D:Then
  11. Disp "OK"
  12. Else
  13. Disp "U est different de V !"
  14. End
  15. End


 
On peut aussi limiter le nombre d'essais à X boucles:
 

Code :
  1. 0->X
  2. Repeat X=3
  3. randInt(1,2500)->A
  4. randInt(1,2500)->B
  5. (A-B)^2/(A-B)->U
  6. (A^2-B^2)/(A+B)->V
  7. Disp U
  8. Disp V
  9. If C=D:Then
  10. Disp "OK"
  11. Else
  12. Disp "U est different de V !"
  13. End
  14. X+1->X
  15. End


 
Et en PHP :o

Code :
  1. <?
  2. $a = rand(1, 2500);
  3. $b = rand(1,2500);
  4. $calc1 = ( $a - $b )^2 / ( $a - $b );
  5. $calc2 = ( $a^2 - $b^2 ) / ($a + $b );
  6. echo $calc1, '<br />';
  7. echo $calc2, '<br />';
  8. if($calc1 == $calc2)
  9. { echo "OK";
  10. }
  11. else{
  12. die("u est différent de v !" );
  13. }
  14. ?>


 
Bon je m'arrête là :o


Message édité par Pc_eXPert le 06-02-2006 à 22:03:16
Reply

Marsh Posté le 06-02-2006 à 22:36:31    

T'as montré qu'on ne pouvait pas écrire une procédure vérifiant qu'une autre procédure calculait bien la bonne chose, sauf dans les cas triviaux. Non ?
 
(il faut vérifier une infinité de nombres ici)

Reply

Marsh Posté le 06-02-2006 à 22:41:51    

eL_Shaman___ a écrit :

T'as montré qu'on ne pouvait pas écrire une procédure vérifiant qu'une autre procédure calculait bien la bonne chose, sauf dans les cas triviaux. Non ?
 
(il faut vérifier une infinité de nombres ici)


Vrai. Mais je tiens à garder les piles et la RAM de ma TI en vie :whistle:

Reply

Marsh Posté le 07-02-2006 à 08:35:25    

a et b sont ils des entiers naturels ou relatifs ? Vu tes hyp : a et b sont positifs ? alors ton equation est simple à résoudre : seul le cas a=b est solution ! donc on a une infinité de solutions :  
 
 
      (a-b)²/(-a-b)=(a²-b²)/(a+b)  
<=> -(a-b)²/(a+b)=(a²-b²)/(a+b)
<=> (-(a-b)²-(a²-b²))/(a+b)=0  
<=> {a+b<>0 et -(a-b)²-(a²-b²)=0}
<=> {a+b<>0 et  -a²+2ab-b²-a²+b²=0  
<=> {a+b<>0 et -2a(a-b)=0}  
<=> {a+b<>0 et a=0 ou a-b=0}  
 
CQFD A priori tu veux a>b>1 donc seul a=b est solution !
 
Donc pourquoi vouloir écrire un algo pour ça ????? Je ne comprends pas bien ta démarche !
Avant de vouloir programmer un algo, il faut avant tout faire quelques calculs !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed