UVA128- Software CRC
来源:互联网 发布:知乎跟百度知道 编辑:程序博客网 时间:2024/06/06 04:45
题意:给一个字符串,每个字符占一个字节(即256进制数),在后面加两个字节,使得其模34943余数为0
思路:将字符串按照256进制的转化为10进制的,假设为x。因为还要在末尾加上两位,所以转化为十进制的x,要在原有基础上x=x*256*256。
假设末尾加上的两位数其为y,所以完全转化后的数为(x + y)。因为要 (x + y)%(g = 34943)= 0,及为 ((x %g) + (y % g)) % g,所以只要求出y,然后在转化为十六进制就可以了,y = (g - x % g) % g
#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int N = 1025;const int g = 34943;char s[N];int b[4];int main () { while (gets(s)) { if (strcmp(s, "#") == 0) break; long long num = 0, ans; int l = strlen(s); for (int i = 0; i < l; i++) num = (num * 256 + s[i]) % g; num = (num * 65536) % g; ans = (g - num % g) % g; for (int i = 0; i < 4; i++) { b[i] = ans % 16; ans /= 16; } printf("%X%X %X%X\n", b[3], b[2], b[1], b[0]); } return 0;}
0 0
- UVA128- Software CRC
- UVA128 - Software CRC(大数取模)
- uva128 - 软件CRC
- Software CRC
- uva 128 - Software CRC
- UVa 128 - Software CRC
- 128 - Software CRC
- UVaOJ128 - Software CRC
- UVa 128 - Software CRC
- UVA - 128 Software CRC
- ZOJ:1164 Software CRC
- UVA 128 - Software CRC
- UVa 128 - Software CRC
- UVA - 128 Software CRC
- uva 128 Software CRC
- UVa 128 Software CRC (模计算&CRC循环冗余校验码)
- 128 - Software CRC//大数求余
- UVa 128 Software CRC / 进制转换
- mpich2 install文件要点译文
- Mini2440 存储器地址映射
- snippet about interruption of thread
- gae
- IOS沙盒的文件操作
- UVA128- Software CRC
- windows下,启动loadrunner的agent方式
- VS2010无法显示资源视图和类视图的解决办法
- 总结&反思
- Access分页及效率分析(MSSQL Server、Oracle分页)
- 3d 模型
- paip.微信菜单直接跳转url和获取openid流程总结
- 2014.5.5 开发人员如何成为项目经理?
- 采用基于XML方式配置事务