Monday, June 8, 2015

UVa 446 - Kibbles "n" Bits "n" Bits "n" Bits

// UVa 446 - Kibbles "n" Bits "n" Bits "n" Bits

import java.util.Scanner;
import java.math.BigInteger;

public class Main {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int t = scanner.nextInt();
		scanner.nextLine();
		for (; t > 0; t--) {
			String l = scanner.nextLine();
			int sp = l.indexOf(' ');
			String sa = l.substring(0, sp);
			String sb = l.substring(sp + 3, l.length());
			char sign = l.charAt(sp + 1);
			BigInteger a = new BigInteger(sa, 16);
			BigInteger b = new BigInteger(sb, 16);
			BigInteger c;
			if (sign == '+')
				c = a.add(b);
			else
				c = a.add(b.negate());

			String sola = a.toString(2);
			while (sola.length() < 13)
				sola = "0" + sola;
			String solb = b.toString(2);
			while (solb.length() < 13)
				solb = "0" + solb;

			System.out.println(sola + " " + sign + " " + solb + " = " + c.toString());
		}

	}

}

No comments:

Post a Comment