uva 446 – kibbles n bits n bits n bits

Contents

Problem

中文網址

Solution

Code

UVa 446
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40


int ()
{
int n;
scanf("%d", &n);
while (n--)
{
int a, b, c, i;
char op[3], bin1[13], bin2[13];
scanf("%X%s%X", &a, op, &b);
if (op[0] == '+')
c = a + b;
else
c = a - b;

for (i = 0; i < 13; i++)
{
bin1[i] = (a % 2) + '0';
a /= 2;
}

for (i = 0; i < 13; i++)
{
bin2[i] = (b % 2) + '0';
b /= 2;
}

for (i = 12; i >= 0; i--)
putchar(bin1[i]);
putchar(' ');
putchar(op[0]);
putchar(' ');
for (i = 12; i >= 0; i--)
putchar(bin2[i]);
printf(" = %dn", c);
}

return 0;
}