UVa 128 Software CRC / 进制转换
2013-12-10 14:32
302 查看
给你一个字符串 他是一个256进制的数 求一个数加到它末尾使得 % 34943 等于0
不能直接把字符串直接转换成10进制 大数
因为只要求余数ans rhou mod - ans 就是所求的数
一边转 一边除 最后的余数直接在转成16进制
不能直接把字符串直接转换成10进制 大数
因为只要求余数ans rhou mod - ans 就是所求的数
一边转 一边除 最后的余数直接在转成16进制
#include <stdio.h> #include <string.h> #include <iostream> #include <string> using namespace std; char a[2000]; const int MOD = 34943; int main() { long long ans; int i; while(gets(a)) { if(strlen(a) == 0) { puts("00 00"); continue; } ans = 0; if(a[0] == '#') break; for(i = 0; a[i]; i++) { ans = ((ans << 8) + a[i]) % MOD; } ans = (ans << 16) % MOD; ans = MOD - ans; memset(a,'0',sizeof(a)); int i = 3; while(ans) { int res = ans % 16; if(res < 10) a[i--] = res + '0'; else a[i--] = res - 10 + 'A'; ans /= 16; } printf("%c%c %c%c\n",a[0],a[1],a[2],a[3]); } return 0; }
相关文章推荐
- uva 128 - Software CRC(进制转换)
- uva128 - 软件CRC
- uva 128 Software CRC(进制转换)
- 128 - Software CRC//大数求余
- UVa 128 Software CRC (模计算&CRC循环冗余校验码)
- UVA 128 - Software CRC
- uva 128(简单题)
- uva 128
- uva 128 Software CRC
- uva-343 进制转换
- UVa 128 Software CRC
- UVaOJ128 - Software CRC
- UVa 128 - Software CRC
- UVA 128 Software CRC
- Software CRC - UVa 128 取模
- UVA 128 Software CRC
- UVa 128 - Software CRC
- UVA - 128 Software CRC 256进制
- UVA128- Software CRC
- uva 128 Software CRC