UVA_128

    模运算。

#include<stdio.h>
#include<string.h>
#define MAXD 1200
int a[5], g = 34943;
char b[MAXD], *str = "0123456789ABCDEF";
void solve()
{
int i;
long long int k, res;
k = 0;
for(i = 0; b[i]; i ++)
k = (b[i] + k * 256) % g;
res = (g - (k * 65536) % g) % g;
for(i = 0; i < 4; i ++)
{
a[i] = res % 16;
res /= 16;
}
printf("%c%c %c%c\n", str[a[3]], str[a[2]], str[a[1]], str[a[0]]);
}
int main()
{
for(;;)
{
gets(b);
if(b[0] == '#')
break;
solve();
}
return 0;
}


posted on 2011-12-09 13:43  Staginner  阅读(208)  评论(0编辑  收藏  举报