読者です 読者をやめる 読者になる 読者になる

土下座しながら探索中

主に競技プログラミング

UVa 713 : Adding Reversed Numbers

問題リンク:Adding Reversed Numbers

問題概要:
2つのとても大きい値が与えられる
それらを反転した値を加え、その結果を反転して出力せよ
先頭の0は消えることに注意

解法:
BigIntegerを使って計算する
StringBufferのreverse()を使って文字列を反転する

コード:

import java.io.*;
import java.util.*;
import java.math.*;

class Main
{

    public static void main(String args[])
    {
	Scanner in = new Scanner(System.in);
	int N = in.nextInt();

	while(N-- > 0)
	    {
		StringBuffer a = new StringBuffer(in.next()).reverse();
		StringBuffer b = new StringBuffer(in.next()).reverse();
		BigInteger A = new BigInteger(a.toString());
		BigInteger B = new BigInteger(b.toString());
		A = A.add(B);
		StringBuffer ans = new StringBuffer(A.toString());
		BigInteger print = new BigInteger(ans.reverse().toString());
		System.out.println(print.toString());
	    }
    }

}