Сравнение
Сравните два числа A и B.
Входные данные
Во входном файле задано два целых неотрицательных числа A и B $(A, B <= 10^{10000})$ каждое в своей строке.
Выходные данные
В выходной файл выведите <, если A < B, = , если A = B и >, если A > B.
Тесты
# | ВХОДНЫЕ ДАННЫЕ | ВЫХОДНЫЕ ДАННЫЕ |
---|---|---|
1 | $2$ $1$ | $>$ |
2 | $1$ $2$ | $<$ |
3 | $1$ $1$ | $=$ |
Код программы
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
import java.util.Scanner; class Main { public static void main (String[] args) throws java.lang.Exception { Scanner in = new Scanner(System.in); String x, y; x = in.next(); y = in.next(); if (x.length() > y.length() ){ System.out.print('>'); } else if (x.length() < y.length() ){ System.out.print('<'); } else { int i = 0; while (i < x.length() && x.charAt(i) == y.charAt(i)){ i++; } if (i == x.length()) System.out.print('='); else if (x.charAt(i) < y.charAt(i)) System.out.print('<'); else System.out.print('>'); } } } |
Решение задачи
Данную задачу будет решать методом сравнения по длине, так как числа могут превышать максимальное значение числовых классов. Если длина первого числа больше, чем длина второго, то выводим символ <. Если длина первого числа меньше, чем длина второго, то выводим символ >. Если длина двух чисел одинаковая, то будем сравнивать цифры данных чисел до тех пор, пока не найдем большую. Символ равенства будем выводить лишь тогда, когда длина чисел одинаковая и каждая цифра одного числа равна каждой цифре второго.
Ссылки
• Задача на e-olymp.
• Решение на сайте ideone.