【发布时间】:2017-04-27 21:45:31
【问题描述】:
如何创建一个函数increment,这样当你给它一个二进制数时,输出就是下一个最高的二进制数?
示例:
• (increment ’(0 0 1)) returns ’(0 1 0)
• (increment ’(1 1 0)) returns ’(1 1 1)
• (increment ’(1 1 1 1)) returns ’(0 0 0 0)
• (increment ’(1 0 1 1 1) returns ’(1 1 0 0 0)
我认为解决此问题的最佳方法是检查最低有效位是否为零,如果是,则将其更改为 1。我不确定如何实际编写它或使其成为递归程序。 我只在计划中编程了几个星期,所以任何帮助,甚至是伪代码,都会很有帮助。
【问题讨论】:
-
我认为第三个例子是错误的,不应该是
'(1 0 0 0 0)吗?此外,您的引号使用了不正确的字符,它是',而不是’。