Posted on 2013-06-17 16:33
happyac 阅读(1247)
评论(0) 编辑 收藏 引用 所属分类:
uva
总结
大数的余数问题。
分析
除数为大数的求法:
int mod = 0;
char ch;
while (c = getchar())
mod = (mod*10 + ch-'0') % b
其中
b
为被除数。即利用余数的性质从最高位逐个读入。
而题中 CRC 的求法是一个字节一个字节的算,所以对上面的程序小加修改:
mod = ((mod<<8) + ch-'0') % b
陷阱
CRC 校验码是算在除数中的。所以处理完输入文本,要重复2次上面的操作,以空出 CRC 校验码的位置。