我想用递归来反转 Haskell 中的整数。我有一个小问题。
这是代码:
reverseInt :: Integer -> Integer
reverseInt n
| n>0 = (mod n 10)*10 + reverseInt(div n 10)
| otherwise = 0
示例 345
我用作输入 345 我想输出 543
在我的程序中它会做......
reverseInt 345
345>0
mod 345 10 -> 5
reverseInt 34
34
34>0
mod 34 10 -> 4
reverseInt 3
3>0
mod 3 10 -> 3
reverseInt 0
0=0 (ends)
最后它返回它们的总和...... 5 + 4 + 3 = 12。
所以我希望每次在对它们求和之前,乘以总和 * 10。所以它会......
5
5*10 + 4
54*10 + 3
543