/**
* The Antique Comedians of Malidinesia prefer comedies to tragedies. Unfortunately, most of the ancient
* plays are tragedies. Therefore the dramatic advisor of ACM has decided to transfigure some tragedies
* into comedies. Obviously, this work is very hard because the basic sense of the play must be kept intact,
* although all the things change to their opposites. For example the numbers: if any number appears in
* the tragedy, it must be converted to its reversed form before being accepted into the comedy play.
* Reversed number is a number written in arabic numerals but the order of digits is reversed. The
* first digit becomes last and vice versa. For example, if the main hero had 1245 strawberries in the
* tragedy, he has 5421 of them now. Note that all the leading zeros are omitted. That means if the
* number ends with a zero, the zero is lost by reversing (e.g. 1200 gives 21). Also note that the reversed
* number never has any trailing zeros.
* ACM needs to calculate with reversed numbers. Your task is to add two reversed numbers and
* output their reversed sum. Of course, the result is not unique because any particular number is a
* reversed form of several numbers (e.g. 21 could be 12, 120 or 1200 before reversing). Thus we must
* assume that no zeros were lost by reversing (e.g. assume that the original number was 12).
* Input
* The input consists of N cases. The first line of the input contains only positive integer N. Then follow
* the cases. Each case consists of exactly one line with two positive integers separated by space. These
* are the reversed numbers you are to add. Numbers will be at most 200 characters long.
* Output
* For each case, print exactly one line containing only one integer รข€” the reversed sum of two reversed
* numbers. Omit any leading zeros in the output.
* Sample Input
* 3
* 24 1
* 4358 754
* 305 794
* Sample Output
* 34
* 1998
* 1
*/
//https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=654
import java.math.BigInteger;
import java.util.Scanner;
public class AddingReversedNumbers {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int numberOfTestCases = input.nextInt();
while (numberOfTestCases != 0) {
BigInteger first = input.nextBigInteger();
BigInteger second = input.nextBigInteger();
StringBuilder firstString = new StringBuilder(first + "");
StringBuilder secondString = new StringBuilder(second + "");
BigInteger firstReversed = new BigInteger(firstString.reverse()
.toString());
BigInteger secondReversed = new BigInteger(secondString.reverse()
.toString());
BigInteger result = firstReversed.add(secondReversed);
String resultReversed = new StringBuilder(result + "").reverse()
.toString();
System.out.println(resultReversed.replaceFirst("^0*", ""));
numberOfTestCases--;
}
}
}
* The Antique Comedians of Malidinesia prefer comedies to tragedies. Unfortunately, most of the ancient
* plays are tragedies. Therefore the dramatic advisor of ACM has decided to transfigure some tragedies
* into comedies. Obviously, this work is very hard because the basic sense of the play must be kept intact,
* although all the things change to their opposites. For example the numbers: if any number appears in
* the tragedy, it must be converted to its reversed form before being accepted into the comedy play.
* Reversed number is a number written in arabic numerals but the order of digits is reversed. The
* first digit becomes last and vice versa. For example, if the main hero had 1245 strawberries in the
* tragedy, he has 5421 of them now. Note that all the leading zeros are omitted. That means if the
* number ends with a zero, the zero is lost by reversing (e.g. 1200 gives 21). Also note that the reversed
* number never has any trailing zeros.
* ACM needs to calculate with reversed numbers. Your task is to add two reversed numbers and
* output their reversed sum. Of course, the result is not unique because any particular number is a
* reversed form of several numbers (e.g. 21 could be 12, 120 or 1200 before reversing). Thus we must
* assume that no zeros were lost by reversing (e.g. assume that the original number was 12).
* Input
* The input consists of N cases. The first line of the input contains only positive integer N. Then follow
* the cases. Each case consists of exactly one line with two positive integers separated by space. These
* are the reversed numbers you are to add. Numbers will be at most 200 characters long.
* Output
* For each case, print exactly one line containing only one integer รข€” the reversed sum of two reversed
* numbers. Omit any leading zeros in the output.
* Sample Input
* 3
* 24 1
* 4358 754
* 305 794
* Sample Output
* 34
* 1998
* 1
*/
//https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=654
import java.math.BigInteger;
import java.util.Scanner;
public class AddingReversedNumbers {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int numberOfTestCases = input.nextInt();
while (numberOfTestCases != 0) {
BigInteger first = input.nextBigInteger();
BigInteger second = input.nextBigInteger();
StringBuilder firstString = new StringBuilder(first + "");
StringBuilder secondString = new StringBuilder(second + "");
BigInteger firstReversed = new BigInteger(firstString.reverse()
.toString());
BigInteger secondReversed = new BigInteger(secondString.reverse()
.toString());
BigInteger result = firstReversed.add(secondReversed);
String resultReversed = new StringBuilder(result + "").reverse()
.toString();
System.out.println(resultReversed.replaceFirst("^0*", ""));
numberOfTestCases--;
}
}
}
No comments:
Post a Comment