Я пытаюсь найти периметр полигона функциональным способом. Я старался изо всех сил, но я не мог сделать это чисто функциональным. Это мой код:Функциональное программирование: периметр многоугольника.
object Solution {
def main(args: Array[String]) {
var x:Double = 0
val N = scala.io.StdIn.readInt
val points = scala.io.Source.stdin.getLines().take(N).map(x=>x).toList
for(i <- 0 to N-1){
if(i==N-1) x+=dist(List(points(i),points(0)))
else x += dist(List(points(i),points(i+1)))
}
println(x)
}
def dist(A: List[String]): Double = {
scala.math.sqrt(scala.math.pow((A(0).split(" ")(0).toDouble-A(1).split(" ")(0).toDouble),2) + scala.math.pow((A(0).split(" ")(1).toDouble-A(1).split(" ")(1).toDouble),2))
}
}
я ввожу число точек многоугольника, а затем ввести декартовы координаты каждой точки в новой строке.
Может ли кто-нибудь помочь мне сделать его чисто функциональным?
'.map (х => х)' ничего –