A + B
Пете задали домашнее задание: найти сумму 2-х натуральных чисел A и B.
Входные данные
В первой строке задано количество заданных Пете примеров N, а далее следует N строк в формате A+B, где A и B — 2 заданных натуральных числа, между ними без пробелов символ выполнения действия сложения «+».
Соответствие входных данных указанному формату гарантируется (см. пример входных данных). Входные данные не превышают $10^{500}$. $(0 < N <= 250)$
Выходные данные
В N строках вывести искомые суммы.
Тесты
# | ВХОДНЫЕ ДАННЫЕ | ВЫХОДНЫЕ ДАННЫЕ |
---|---|---|
1 | $2$ $5+3$ $14818641113280510+52467$ |
$8$ $14818641113332977$ |
2 | $1$ $0+0$ |
$0$ |
3 | $3$ $1+1$ $1+2$ $1+3$ |
$2$ $3$ $4$ |
4 | $2$ $123123123 + 321321321$ $321321321 + 123123123$ |
$444444444$ $444444444$ |
Код программы
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import java.util.Scanner; import java.math.BigInteger; class Main { public static void main (String[] args) throws java.lang.Exception { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); scan.nextLine(); while(n-- > 0){ String s = scan.nextLine(); int k = s.indexOf('+'); System.out.println(new BigInteger(s.substring(0, k)).add(new BigInteger(s.substring(k+1)))); } } } |
Решение задачи
Для решения данной задачи будем использовать класс BigInteger, поскольку в наших вычислениях могут получиться числа, превышающие максимальное значение класса Long. k-тым элементом обозначим символ «+». Далее, складываем все элементы до k-того элемента и после него, переводя эти числа в объект класса BigInteger.
Ссылки
• Задача на e-olymp.
• Решение на сайте ideone.