Решение олимпиадных задач по информатике: От перестановки чисел что-то меняется
Сегодня решаем олимпиадную задачу по информатике городского этапа 2020 года. Задача: «От перестановки чисел что-то меняется». 7 — 8 класс.
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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) |
Так же условие можно заменить следующим образом. Это позволит не проверять оставшиеся условия, если выполнится только одно.
6 7 8 9 10 11 | if a1 + a2 = = a3: answer = 'YES' elif a1 + a3 = = a2: answer = 'YES' elif a2 + a3 = = a1: answer = 'YES' |
Все условия можно записать одним выражением:
6 7 | if a1 + a2 = = a3 or a1 + a3 = = a2 or a2 + a3 = = a1: answer = 'YES' |
1 2 3 4 5 6 7 8 9 10 11 | 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) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 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 . |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | 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 . |