Редакция для Максимум двух чисел
Remember to use this editorial only when stuck, and not to copy-paste code from it. Please be respectful to the problem author and editorialist.
Submitting an official solution before solving the problem yourself is a bannable offence.
Submitting an official solution before solving the problem yourself is a bannable offence.
Автор:
1. Идея
Нужно прочитать два целых числа a и b и вывести большее из них.
Это базовая задача на условный оператор: если a > b, ответом будет a, иначе ответом будет b.
2. Наблюдения
- Возможны три случая:
a > ba < ba == b
- Во всех случаях достаточно одной проверки:
- если
a > b, печатаемa; - иначе печатаем
b.
- если
- Когда числа равны, можно вывести любое из них, потому что они одинаковые. В ветке
elseкак раз выводитсяb, и это корректно.
3. Алгоритм
- Считать два целых числа
aиb. - Проверить условие
a > b. - Если условие истинно, вывести
a. - Иначе вывести
b.
4. Почему это работает
Рассмотрим все возможные ситуации:
- Если
a > b, то по определению большее число — этоa. Алгоритм выводитa. - Если
a <= b, то большее число — этоb:- при
a < bчислоbдействительно больше; - при
a == bчисла равны, и выводbвсе равно верен.
- при
Значит, во всех возможных случаях алгоритм выводит максимум из двух чисел.
5. Сложность
- Время:
O(1), потому что выполняется только чтение двух чисел и одна проверка. - Память:
O(1).
6. Код на C++17
#include <iostream>
using namespace std;
int main() {
long long a, b;
cin >> a >> b;
if (a > b) {
cout << a;
} else {
cout << b;
}
return 0;
}
7. Код на Python 3
a, b = map(int, input().split())
if a > b:
print(a)
else:
print(b)
Комментарии