Решение олимпиадных задач по информатике: От перестановки чисел что-то меняется
Сегодня решаем олимпиадную задачу по информатике городского этапа 2020 года. Задача: "От перестановки чисел что-то меняется". 7 - 8 класс.
a1 = int(input()) a2 = int(input()) a3 = int(input()) answer = 'NO' if a1 + a2 == a3: answer = 'YES' if a1 + a3 == a2: answer = 'YES' if a2 + a3 == a1: answer = 'YES' print(answer)
Так же условие можно заменить следующим образом. Это позволит не проверять оставшиеся условия, если выполнится только одно.
if a1 + a2 == a3: answer = 'YES' elif a1 + a3 == a2: answer = 'YES' elif a2 + a3 == a1: answer = 'YES'
Все условия можно записать одним выражением:
if a1 + a2 == a3 or a1 + a3 == a2 or a2 + a3 == a1: answer = 'YES'
a1 = int(input()) a2 = int(input()) a3 = int(input()) answer = 'NO' s = a1 + a2 + a3 m = max(a1, a2, a3) if m == s - m: answer = 'YES' print(answer)
var a1,a2,a3:integer; answer:string; begin read(a1); read(a2); read(a3); answer := 'NO'; if a1 + a2 = a3 then answer := 'YES'; if a1 + a3 = a2 then answer := 'YES'; if a2 + a3 = a1 then answer := 'YES'; write(answer); end.
var a1,a2,a3,m,s:integer; answer:string; function max(a, b:integer):integer; begin if a > b then result := a else result := b; end; begin read(a1); read(a2); read(a3); answer := 'NO'; s := a1 + a2 + a3; m := max(a1, max(a2, a3)); if s - m = m then answer := 'YES'; write(answer); end.