Примітка:
щасливим квитком називається число, в якому:
а) при парній кількості цифр в числі сума цифр його лівої половини дорівнює сумі цифр його правої половини;
б) при непарній кількості цифр - те ж саме, але з відкиданням серединної цифри.
Наприклад, розглянемо число 1322. Його ліва половина 13, а права - 22, і воно є щасливим білетом (бо 1 + 3 = 2 + 2).
Аналогічно: 1735 (1 + 7 = 3 + 5), 1111 (1 + 1 = 1 + 1) і т. д.
Приклади інших щасливих квитків за рамками умови поточного завдання: (відкинули єдину цифру), 39466 (3 + 9 = 6 + 6, а 4 відкинули), 11 (1 = 1), і т. д.
Рішення.
Для введення достатньо однієї змінної n типу word.
Все, що необхідно зробити для розв'язання - це послідовно отримати всі розряди вихідного числа, причому з двох молодших розрядів (одиниць і десятків) сформувати першу суму, а з двох старших розрядів - другу, після чого вивести на екран результат булевського вираження рівності отриманих сум.
Першу суму будемо зберігати в змінної right, а другу - в змінній left (обрано по розташуванню цифр у записі числа). Значення обох з них не може перевершувати 18 (бо для найбільшого допустимого числа 9999 обидві суми рівні 9 + 9 = 18), тому для їх опису використовуємо тип byte.
program HappyTicket;var
n: word;
left, right: byte;
begin
readln(n);
right := n mod 10;
n := n div 10;
right := right + n mod 10;
n := n div 10;
left := n mod 10;
n := n div 10;
left := left + n;
writeln(left = right)
end.
Немає коментарів:
Дописати коментар