【发布时间】:2017-10-18 11:19:24
【问题描述】:
我是编程新手。在这里,我一直在解决函数式编程 (OZ) 中的一个简单问题,即求 6 位正整数的位数之和。
示例:- if n = 123456 然后
output = 1+2+3+4+5+6 which is 21。
在这里我找到了如下解决方案
fun {SumDigits6 N}
{SumDigits (N Div 1000) + SumDigits (N mod 1000)}
end
它说参数 (N Div 1000) 给出了前 3 位数字,而参数 (N mod 1000) 给出了最后 3 位数字。是的,我得到了正确的解决方案,但我怀疑他们怎么能给出正确的解决方案。我的意思是在给定的例子中不是(N Div 1000) of 123456 给123 不是1+2+3 和同样(N mod 1000) of123456 给我们456 不是4+5+6 对吗?在这种情况下,答案应该是123+456 等于579 而不是21 对吧?我在这里缺少什么。对于提出如此简单的问题,我深表歉意,但我们将不胜感激。
谢谢你:)
【问题讨论】:
标签: functional-programming division modular-arithmetic oz