假金币
阅读(267)
逻辑
算术
收录于
老少皆宜 -- 2021年07月02日

摘要
有10堆外观相同的金币, 其中一堆全是假的, 你能找出来吗?
在计算机, 信息理论和编码理论中, 纠错码是信息传输中错误检测与纠正的工具.
假如现在有一串存储在磁盘上的数字. 你需要验证数据是否正确, 如果不正确的话, 为了节省数据占用空间, 需要用最少的额外数据来识别和纠正错误. 这个额外数据是什么呢?
假设我们希望存储下面8个数的数列:
我们要计算的额外数据是所有数字的总和.
以及将每个数字乘以它的位置, 然后求和.
即 (计算机中总是以零开始计数.)
我们将把这两个数字,即总和和位置总和与我们的原始数据放在一起, .
现在经过传输当我们读取数据时, 有一位数字已经被轻微破坏:
按照之前的方法重新计算总和和位置总和, 分别得到和
. 将原始值
与
进行比较, 我们可以看到综合的误差大小是
. 说明其中一个数字减少了
.
原来的位置总和是, 新的计算结果是
, 这意味着位置总和改变了
.
我们知道总和误差的大小是,
除以
得到位置
, 说明第
个数字减少了
.
所以把第个数字
改为
, 我们就恢复了原来的序列.
展开正文...