POJ 2756 - Autumn is a Genius
http://poj.org/problem?id=2756
概要
2つの整数 A, B が与えられるので,A + B を答える.
ただし,A, B が非負の整数のとき,'+' が先頭に存在しうる.
制約
- A, B < 32768
解法
A, B の最大値は示されているものの,最小値が示されていないというトラップ. 実は多倍長演算が必要.
Scanner#nextBigInteger() だと先頭の + に自分で対応しなければならないが,Scanner#nextBigDecimal() だと先頭の + を気にしなくてもいいため楽.
poj/2756.java1 import java.io.*; 2 import java.util.*; 3 import java.math.*; 4 5 public class Main { 6 public static void main(String[] args) throws IOException { 7 Scanner cin = new Scanner(System.in); 8 int t = cin.nextInt(); 9 while (t-- > 0) { 10 BigDecimal a = cin.nextBigDecimal(); 11 BigDecimal b = cin.nextBigDecimal(); 12 System.out.println(a.add(b)); 13 } 14 } 15 }