begin process at 2012 05 28 14:32:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Divers

 > 

Calculer la racine cubique d'un nombre


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Calculer la racine cubique d'un nombre

lundi 21 décembre 2009 à 14:11:40 | Calculer la racine cubique d'un nombre

mikevkb

Bonjour,
j'aimerais calculer la racine cubique d'un nombre (+ ou -) par méthode dichotomique, j'ai trouvé ce code: delphi.fr
Mais voilà je n'arrive pas à le transposer en PHP...
Exemple:
Dans le code delphi, il fait (l'auteur):
bornMil:=(bornInf+bornSup)/2;
->sans initialiser les variables, ok, mais en PHP ca ne marche pas comme ca!

En PHP, il me sort des réponses fausses... alors qu'avec ce code en delphi ca marche parfaitement!

Quelqu'un pourrait éclairer ma lanterne?
Merci!
lundi 21 décembre 2009 à 19:02:59 | Re : Calculer la racine cubique d'un nombre

JulSoft

Membre Club
Il y'a bien initialisation des variables, juste un peu plus haut...
Code Delphi :
  if (nombre>0) then
 begin
  bornInf:=0;
  bornSup:=nombre;
 end
 else begin
  bornInf:=nombre;
  bornSup:=0;
 end; 


en php, la methode de dichotomie pour uen racine cubique peut s'écrire comme ça:
Code PHP :
<?php
function racineCubique($x,$min=0,$max=0,$ecart=1e-10){
 if($min==$max && $x<0){
  $min=$x;
  $max=0;
 }elseif($min==$max && $x>0){
  $min=0;
  $max=$x;
 }
 while($max-$min>$ecart){
  $milieu=($min+$max)/2;
  if(pow($min,3)*pow($milieu,3)<0){ // changement de signe entre min et milieu
   $max=$milieu
  }else{
   $min=$milieu;
  }
 }
 return ($max-$min)/2;
}
?>


J'ai écrit ça complettement à l'arrache sans test... Il se peut que ça fonctionne, mais c'est pas certain... Toutefois, je pense que l'idée générale y est.
mardi 22 décembre 2009 à 10:25:45 | Re : Calculer la racine cubique d'un nombre

mikevkb

Salut!
Merci de ta réponse je vais essayer ca et je te tient au courant!
Quant aux variables, à la ligne 72 du code delphi, elle ne sont pas initialisé! Si?

Merci @ plus...
mardi 22 décembre 2009 à 12:21:02 | Re : Calculer la racine cubique d'un nombre

JulSoft

Membre Club
Réponse acceptée !
si jamais, je viens de me rendre compte d'une erreur dans mon code...

il faut remplacer
Code PHP :
<?php
if(pow($min,3)*pow($milieu,3)<0)
?>

par
Code PHP :
<?php
if((pow($min,3)-$x)*(pow($milieu,3)-$x)<0)
?>


Pour ce qui est des variables dans le code delphi, elles ne sont pas initialisées en ligne 72, mais le sont juste plus bas. Il part du principe (qui est vrai pour tout nombre dont la valeur absolue est >=1 que la valeur absolue du nombre est toujours plus grande en valeur absolue que sa racine cubique, d'où les lignes que je t'ai citées.
mardi 22 décembre 2009 à 14:52:17 | Re : Calculer la racine cubique d'un nombre

mikevkb

Pffiou!
J'ai bien cru que j'allais péter mon clavier en 2!
Alors, voilà:
Code PHP :
if((pow($min,3)-$x)*(pow($milieu,3)-$x)<0)
=> c'est la bonne condition, mais le résultat était un truc du genre: 4.959562E-11!
J'ai un peu bricoler, et finalement j'ai trouvé:
il faut remplacer
Code PHP :
return ($max-$min)/2;

par:
Code PHP :
 return $milieu;


Voili Voilou...

Grand (grand) merci!
PS: Je ne comprends tjrs pas pourquoi la "transposition" delphi->PHP ne marche pas...
Pourtant j'ai gardé la même logique, même opération, etc...


Cette discussion est classée dans : nombre, code, calculer, racine, cubique


Répondre à ce message

Sujets en rapport avec ce message

Grand nombre de cookies [ par Trigun222 ] Salut,Depuis mon site je souhaite envoyer plus de 50 cookies sur une page ne contenant que le code pour ceci pour que l'envoie soit sur et ensuite les Calculer le nombre de jour entre deux dates [ par Seamless ] Salut tout le monde,J'aimerai quel façon vous utiliserez pour calculez le nombre de jour entre deux dates. La plus facile possible. Préciser juste si Téléchargements [ par rethenor ] Bonjour à tous,Nouveau sur CodeS-SourceS, je cherche à savoir s'il y a possibilité, sur ce site, de voir et d'afficher le nombre de téléchargements qu Augmenter un nombre toutes les x secondes [ par jonathan724 ] Bonjour, J' aurai voulu savoir si vous pouviez me faire un code qui permette de faire augmenter un nombre toutes les 5 secondes par exemple. Enfaite u calculer le nombre d'occurence d'un mot dans une chaine de caractére [ par hadjiphp ] Bonjour, merci pour ce site et souhaite de trouver tous ce que je veux. je vous remercie. Bonjour, j'ai une question : j'ai une chaine de caract Acceder à un repertoire hors de la racine du site [ par bchrist ] Bonjour! je souhaite accéder au contenu d'un dossier que j'ai crée hors de la racine de mon site web. le code que j'utilise à partir de l'index est le Compter le nombre de clic [ par delphinounette ] Bonjour, j'ai créé un site en html et je voudrais connaitre le nombre de personne ayant cliqué sur un lien. On m'a dit que pour celà il fallais que faute dans un code source [ par saragi ] bonjour à tout le monde.svp il y a quelqu'un qui peut corriger cette fautte.la faute c'est unexpected T_STRING dans la phrase $nombre de vente=$_post[ Clause WHERE LIKE [ par cdie ] Bonjour, J'essaye activement de faire fonctionner un clause LIKE pour récuperer un nombre de ligne avec le code suivant : [code=php] $tab = explode( Total Calcul Panier [ par jackdaniel9 ] Bonjour, Il faut que je calcule le prix par rapport à la quantité dans un formulaire pour un panier. Je me demandais si il était possible de faire l


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,618 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales