查询Scala中的数字反转添加

时间:2014-02-27 15:15:50

标签: scala

尝试解决SPOJ上的ADDREV问题。似乎测试数据运行正常,但似乎没有通过测试。

有人可以帮助解释可能存在的缺陷吗? (不要求任何代码,从我的角度来看:只需检查大数字,小值等等,这似乎是有效的)

object Main {
  def reverse(n: BigInt, acc: BigInt = 0): BigInt = {
    if (n == 0) acc else reverse(n / 10, (acc * 10 + n % 10))
  }

  def main(args: Array[String]) {
    if (!args.isEmpty)
      repeat(args.head.toInt, args.tail)
  }

  def repeat(counter: Int, args: Array[String]): Unit = {
    if (counter > 0) {
      println(args.head, args.tail.head)
      println(reverse(reverse(BigInt(args.head), 0) + reverse(BigInt(args.tail.head), 0)))
      repeat(counter - 1, args.tail.tail)
    }
  }
}

1 个答案:

答案 0 :(得分:0)

反转看起来不像负数。哪些测试失败了?