object Hello {

  def piEuler(n : Int): Double = {
    def aux(n: Int, r: Double): Double = if (n >= 1) aux(n-1, r + (1.0 / Math.pow(n,2))) else r
    aux(n,0)
  }

  def factorial(n : Int) = {
    def aux(n : Int, r : Int): Int = if (n > 1) aux(n-1, r*n) else r
    aux(n,1)
  }

  def main(args: Array[String]): Unit = {
    println("Hello World!")
    println((Array.range(0,10) map factorial).mkString(", "))
    println(Math.sqrt(piEuler(10000)*6))
  }
}
