我试图解决一个编程问题并陷入困境,因为我无法理解以下示例之一,
我们猜测一个四位数字,猜测是 "1234" 。这个猜测给出的提示是,
每个数字都不在正确的位置(根据正确答案)。即 1 不在位置 1,2 不在位置 2,3 不在位置 3,4 不在位置 4。
4位正确答案包含数字1,2,3,4。
该示例给出了基于上述约束的四位数字的可能组合数为 9。{2143,2341,2413,3142,3412,3421,4123,4312,4321}
我试图以这种方式解决问题:
方法1:
(组合总数为 4!)-((在位置 1 中以 1 开头的组合 + 在位置 2 中带有 2 的组合 + 在位置 3 中带有 3 的组合 + 在位置 4 中带有 4 的组合))但无法到达上述公式第二部分的解决方案..因为在位置 1 以 1 开头的组合将是 3!-(在位置 2 以 2 开头的组合).. 依此类推,我无法继续写作组合的数量)。
方法2:
(1 可以在 3 个位置)*(2 可以在 3 或 2 个位置,取决于 1 的位置)*(3 可以在 1 或 2 个位置,基于 2 的位置)*(1 个位置为 4)- - 再次不清楚如何找到 2、3、4 的位置数。
请帮助我了解如何解决此问题