Section courante

A propos

Section administrative du site

Sqrt (Racine carré)

Bien qu'en C# (C Sharp), il existe une méthode «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 :

Essayer maintenant !
  1. using System;
  2.  
  3. namespace SquareRootExemple
  4. {
  5.      class Class1
  6.      {
  7.           static void Main(string[] args)
  8.           {
  9.                double R;
  10.                R=2;
  11.                while(R<=1000) 
  12.                {
  13.                     Console.WriteLine("Sqrt("+(double)R+")="+(double)Math.Sqrt(R)+" "+(double)SquareRoot(R));
  14.                     R=R*R;
  15.                }
  16.           }
  17.  
  18.           public static double SquareRoot(double X) 
  19.           {
  20.                double A,B,M,XN;
  21.                if(X==0.0) return 0.0;
  22.                else 
  23.                {
  24.                     M=1.0;
  25.                     XN=X;
  26.                     while(XN>=2.0) 
  27.                     {
  28.                          XN=0.25*XN;
  29.                          M=2.0*M;
  30.                     }
  31.                     while(XN<0.5) 
  32.                     {
  33.                          XN=4.0*XN;
  34.                          M=0.5*M;
  35.                     }
  36.                     A=XN;
  37.                     B=1.0-XN;
  38.                     do 
  39.                     {
  40.                          A=A*(1.0+0.5*B);
  41.                          B=0.25*(3.0+B)*B*B;
  42.                     } while(B>=1.0E-15);
  43.                     return A*M;
  44.                }
  45.           }     
  46.      }
  47. }

on obtiendra le résultat suivant :

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

Voir également

Science - Mathématique

Dernière mise à jour : Dimanche, le 17 avril 2016