Algorithm 找到一个不重复的4位数字

Algorithm 找到一个不重复的4位数字,algorithm,search,Algorithm,Search,我收到一个要解决的问题。我已经设法用手工解决了它,但找不到一个精确的算法来解决它 问题是: 用户插入一个4位数字,不重复任何数字(可以有前导0)。 算法需要找到这个数字 有一个检查函数,它接收到一个4位数字,并返回有多少数字是正确的,有多少数字在正确的位置,没有重叠,也没有提及哪一个是正确的。 该系统有7次尝试 例如: 用户输入号码:0584 如果系统发送号码:6549 回报将是: 1项到位 1项是正确的我将尝试分两步解决此难题: 尝试找出解决方案包含的4位数字 对于未命中的位置,找到正确的顺序

我收到一个要解决的问题。我已经设法用手工解决了它,但找不到一个精确的算法来解决它

问题是: 用户插入一个4位数字,不重复任何数字(可以有前导0)。 算法需要找到这个数字

有一个检查函数,它接收到一个4位数字,并返回有多少数字是正确的,有多少数字在正确的位置,没有重叠,也没有提及哪一个是正确的。 该系统有7次尝试

例如: 用户输入号码:0584

如果系统发送号码:6549

回报将是:

1项到位

1项是正确的

我将尝试分两步解决此难题:

  • 尝试找出解决方案包含的4位数字
  • 对于未命中的位置,找到正确的顺序
  • 我不确定是否有一种算法总是在7个请求内找到解决方案,但这样你至少应该更接近一个解决方案


    这是一个难题,所以请考虑数字模式,以尽可能多地揭示有关解决方案的信息。并尝试从答案中提取尽可能多的信息,以减少仍然可能的解决方案的数量

    如果你手工解决这个问题,那么你可以自己找出一个算法。我们不是来帮你做作业的。当我说我是手工解决的时候,我的意思是我找不到任何在任何情况下都能成功的一致算法。试试这里:这个问题似乎有什么问题,好像你在匹配用户输入和计算机给出的两个数字。。。因此,只需运行for循环并检查不在适当位置的数字,如果您根本不知道,您可以简单地尝试所有可能的组合。但是,如果你想一想,你会想出一种方法,用答案来消除解决方案中无法出现的一些数字。