【发布时间】:2017-12-19 14:23:36
【问题描述】:
我收到了一个要解决的问题。我已经设法手动解决了它,但找不到确切的算法来解决它。
问题: 用户插入一个 4 位数字而不重复任何数字(可以有前导 0)。 算法需要找到这个数字。
有一个检查函数,它接收一个 4 位数字并返回有多少数字是正确的,有多少数字在正确的位置没有重叠,也没有提及哪个数字是正确的。 系统有 7 次尝试。
例如: 用户插入号码:0584
如果系统发送号码:6549
返回是:
1 项到位
1 项是正确的
【问题讨论】:
-
如果你手动解决了这个问题,那么你可以自己想出一个算法。我们不是来帮你做作业的。
-
当我说我用手解决它时,我的意思是我找不到任何一致的算法在任何情况下都会成功。
-
这个问题似乎有什么问题,看起来你正在匹配用户输入和计算机给出的两个数字......所以只需运行一个 for 循环并检查数字没有到位
-
如果您根本不知道,您可以简单地尝试所有可能的组合。但如果你想一想,你会想出一个方法来使用答案来消除一些在解决方案中不可能出现的数字。