尝试解决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)
}
}
}
答案 0 :(得分:0)
反转看起来不像负数。哪些测试失败了?