Accueil de Gladir.com Notes légal de Gladir.com Flux RSS des nouvelles du site Gladir.com - Langage de programmation - Java - Sqrt (Racine carré) Section du logiciel DOS «MonsterBook» Inventaire de la bibliothèque de Gladir.com Entrée administrateur

Bien qu'en Java, il existe une méthode «Sqrt» dans la classe Math (Math.sqrt) permettant de calculer la racine carré, il peut quand même être amusant d'effectuer se genre de calcul nous même. Pour remédier à se problème, il suffit de créer une fonction ressemblant à ceci :

  1. public class squareroot {
  2.     
  3.     public static void main(String[] args) {
  4.         double R=2.0;    
  5.         while(R<=1000.0) {
  6.             System.out.println("Sqrt("+Double.toString(R)+")="+Double.toString(SquareRoot(R))); 
  7.             R*=R;       
  8.         }
  9.     }
  10.     
  11.     public static double SquareRoot(double X) {
  12.       double A,B,M,XN; 
  13.       if(X==0.0) {
  14.          return 0.0; 
  15.       } else {
  16.          M=1.0; 
  17.          XN=X; 
  18.          while(XN>=2.0) {
  19.             XN=0.25*XN; 
  20.             M=2.0*M; 
  21.          }
  22.          while(XN<0.5) {
  23.             XN=4.0*XN; 
  24.             M=0.5*M; 
  25.          }
  26.          A=XN; 
  27.          B=1.0-XN; 
  28.          do { 
  29.             A=A*(1.0+0.5*B); 
  30.             B=0.25*(3.0+B)*B*B; 
  31.          } while(B>=1.0E-15); 
  32.          return A*M; 
  33.       }
  34.     }
  35.    
  36. }

on obtiendra le résultat suivant :

Sqrt(2)= 1.41421
Sqrt(4)= 2.0000
Sqrt(16)= 4.0000
Sqrt(256)= 16.0000


Dernière mise à jour: Jeudi, le 15 décembre 2011