blob: 69f86a6b30012f4aa38915c2acc72a1d520342a6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
/*
Synopsis:
# scalac gcd.scala
# scala gcd 11 22 33 121
// prints 11
*/
object gcd {
def gcd2(a: Int, b: Int): Int = b match {
case 0 => a
case _ => gcd2(b, a % b)
}
def main(args: Array[String]) {
try {
val numbers = args map Integer.parseInt
println(numbers.foldRight(0)((a, b) => gcd2(a, b)))
} catch {
case e: NumberFormatException => println("Not a number")
}
}
}
|