pas le bon résultat...

pas le bon résultat... - Java - Programmation

Marsh Posté le 31-05-2003 à 19:05:55    

j'ai la formule
 
p(x) = -(2/3)x^3 + 6x^2 - (28/3)x + 8
je met 1,2,3,4 dans ce formule...
 
j'ai essayé en java, mais j'obtiens vraiment pas les bon résultat...
 
 
 

Code :
  1. for(double r=1;r<4;r++){               System.out.println(Math.pow(2,-(2/3)*Math.pow(r,3)+6*Math.pow(r,2)-(28/3)*r+8));
  2. }

Reply

Marsh Posté le 31-05-2003 à 19:05:55   

Reply

Marsh Posté le 31-05-2003 à 19:08:56    

2/3 == 0

Reply

Marsh Posté le 31-05-2003 à 19:10:07    

il me semble que 2/3 = .66666666666666666667...
 
mais bon java ne semble le voir de cette façon

Reply

Marsh Posté le 31-05-2003 à 19:12:01    

Code :
  1. for(double r=1;r<4;r++){
  2.     System.out.println((((float)-2/3)*Math.pow(r,3))+
  3.                        (6*Math.pow(r,2))-
  4.                        (((float)28/3)*r)+
  5.                         8
  6.                       );
  7. }


En plus là tu ne calcule que pour 1, 2 et 3.


Message édité par R3g le 31-05-2003 à 19:12:36
Reply

Marsh Posté le 31-05-2003 à 19:21:47    

pas mieux il me semble.
 
calcul entier, notation entiere => 2 / 3 == 0
calcul flottant, notation flottante => 2. / 3. == 0.66666.....

Reply

Marsh Posté le 31-05-2003 à 19:48:39    

finalement je crois que je vais faire:
 
 
for(double r=4;r<25;r=r+4){
  if((r==4) || (r==8) || (r==16) ||  (r==24))
    System.out.println(Math.pow(2,r));
 
 
ça sera plus rapide je crois

Reply

Marsh Posté le 31-05-2003 à 21:12:32    

okeefe a écrit :

finalement je crois que je vais faire:
 
 
for(double r=4;r<25;r=r+4){
  if((r==4) || (r==8) || (r==16) ||  (r==24))
    System.out.println(Math.pow(2,r));
 
 
ça sera plus rapide je crois


 :heink:

Reply

Marsh Posté le 31-05-2003 à 21:31:33    

Ils sont vraiment zarb, tes topics, okeefe.


---------------
Le site de ma maman
Reply

Marsh Posté le 01-06-2003 à 00:14:16    

++Taz a écrit :

pas mieux il me semble.
 
calcul entier, notation entiere => 2 / 3 == 0
calcul flottant, notation flottante => 2. / 3. == 0.66666.....


avec des int, '/' est une division entière.
 
il faut mettre des 'f' (ex : 2f) derrière tes nombres ou les caster (ex : (float) 2) si tu veux que le compilo comprenne que c'est des floats


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 01-06-2003 à 00:27:45    

R3g a écrit :

Code :
  1. for(double r=1;r<4;r++){
  2.     System.out.println((((float)-2/3)*Math.pow(r,3))+
  3.                        (6*Math.pow(r,2))-
  4.                        (((float)28/3)*r)+
  5.                         8
  6.                       );
  7. }


En plus là tu ne calcule que pour 1, 2 et 3.


 
Il y a aussi le type "double" pour "r" qui est assez exotique  :??:

Reply

Sujets relatifs:

Leave a Replay

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