Vai al contenuto

Radice quadrata

  • Senza categoria

2013-02: Math 2

Calculate the square root of a number without using the Math methods (SquareRoot or Power).

Calcola la radice quadrata di un numero senza utilizzare i metodi Math.SquareRoot()Math.Power(), …

Soluzione #1

Calcola la radice quadrata di un numero da 1 a 1.000.000 senza utilizzare le funzioni della libreria matematica.
Effettua una ricerca binaria della radice…

TextWindow.Write("Numero da 1 1000000: ")
n=TextWindow.ReadNumber()
' --------------------------------------------------------------
minimo =1
massimo=1000
errore =1
' --------------------------------------------------------------
While(errore > 0.001)
    x=(minimo+massimo)/2
    ' TextWindow.WriteLine(minimo + " - " + x + " - " + massimo)  
    errore=n-x*x
    if(errore > 0) Then
        minimo=x
    ElseIf(errore < 0) Then
        massimo=x    
    EndIf
    errore=Math.Abs(errore)
EndWhile
' --------------------------------------------------------------
TextWindow.WriteLine("Radice quadrata di " + n + " = " + x)

Soluzione #2

Metodo babilonese (Archita, Erone, Newton...)

TextWindow.Write("Numero: ")
n=TextWindow.ReadNumber()
' --------------------------------------------------------------
x=n/2
errore=1
While(errore > 0.001)
    x=(x+n/x)/2
    ' TextWindow.WriteLine(x)  
    errore=Math.Abs(n-x*x) 
EndWhile
' --------------------------------------------------------------
TextWindow.WriteLine("")
TextWindow.WriteLine("Radice quadrata di " + n + " = " + x)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.