Friday, April 15, 2016

Newton–Raphson method of finding Square Root Program in Scala

To Know more about the Newton-Raphson Method , check out the wiki
https://en.wikipedia.org/wiki/Newton%27s_method


     
object wk1 {
   
def sqrt(Num: Double): Double ={

def sqrIr(sq: Double, Num: Double): Double  =

if (Isok(sq,Num))sq
else sqrIr(improve(sq,Num),Num)

def Isok(sq: Double , Num: Double) =
scala.math.abs(sq * sq - Num) / Num < 0.001

def improve(sq: Double, Num: Double) =
(sq + Num/sq) /2

sqrIr(1.0,Num)

 }                //> sqrt: (Num: Double)Double
 sqrt(5)          //> res0: Double = 2.2360688956433634
 sqrt(1067)       //> res1: Double = 32.66497607490649

-----------------------------scala program---------
object Sqrt {
    def main(args: Array[String]) {
    println("Newton's Square root")
      for (row <- 1 to 10) {
      print(sqrt(row))
      println()
    
  }}

def sqrt(Num: Double): Double ={

def sqrIr(sq: Double, Num: Double): Double  =
if (Isok(sq,Num))sq
else sqrIr(improve(sq,Num),Num)

def Isok(sq: Double , Num: Double) =
scala.math.abs(sq * sq - Num) / Num < 0.001

def improve(sq: Double, Num: Double) =
(sq + Num/sq) /2

 sqrIr(1.0,Num)
  }
   
}

No comments:

Post a Comment