gpt4 book ai didi

algorithm - 解码用一些奇怪的算法编码的数字

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:10:38 26 4
gpt4 key购买 nike

有这样一种编码算法:我们给定了一些数字x,比如说7923。我们在它的末尾和开头添加零 - 079230。现在我们对数字求和,从右侧开始 - 第一个数字与第二个数字,第二个数字与第三个数字等。如果总和大于 9,我们减去 10从中移动 1 到下一个操作。

所以对于079230的例子:0+3 = 3, 3+2=5, 2+9= 119+7+1=177+0+1=8。我们的编码数字是操作的结果,所以我们以数字结尾:87153

现在,我们得到了编码后的数字,但少了一位数字 - 例如 871X3。现在我们需要对其进行解码 - 从中​​获取 7923

简而言之 - 871X3 是输入,输出应该是 7923。只能缺少一位数字。

这对我来说是个奇怪的问题。我想我们需要以某种方式推断出原始数字,也许需要一些回溯?原始数字的第一位可能是编码数字的第一位或该数字减 1。但我看不到从这里通往解决方案的任何路径。

最佳答案

看看您的算法:这只是执行长乘法。 “编码”数字是原来的 11 倍。

由于乘数大于 9,因此缺失数字只有一种可能性。用模运算找到它。输入 0 作为缺失数字并检查:

87103 mod 11 ==> 5

现在,数字的“奇偶性”随着位置的变化而变化。从右边数起,偶数位将返回缺失的数字本身(0、99、9999、999999 等因子将被丢弃)。奇数位置将给出加法逆:从 11 中减去该数字以获得缺失的数字。对于给定的示例,对每个数字尝试此操作:

87150 mod 11 ==> 8  missing digit is 3 (11-8)
87103 mod 11 ==> 5 missing digit is 5
87053 mod 11 ==> 10 missing digit is 1 (11-10)
80153 mod 11 ==> 7 missing digit is 7
7153 mod 11 ==> 3 missing digit is 8 (11-3)

关于algorithm - 解码用一些奇怪的算法编码的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49858251/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com