четвер, 20 листопада 2014 р.

задача “Щасливий квиток”

Олімпіадні задачі з інформатики: задача “Щасливий квиток”

Задача Bus
Як відомо, в автобусах пасажирам видають квитки з унікальним номером. Щасливим будемо називати такі квитки, в яких сума цифр, що стоять на парних позиціях у номері, рівна сумі цифр, що стоять на непарних позиціях. Відомо також, що квитки видаються підряд в порядку зростання номерів. Василю видали квиток. Глянувши на його номер, він вирішив вирахувати мінімальний номер щасливого квитка, номер якого більший за номер його квитка. Допоможіть Василеві.
Технічні умови. Програма читає з клавіатури єдине число – номер квитка Василя, який містить не більше за 100 десяткових цифр. Програма виводить на екран мінімальний номер щасливого квитка, більший за номер квитка Василя.
Задача схожа на попередні задачі типу «Щасливий квиток», але її складність полягає у тому, що квиток вважається щасливим тоді, коли сума чисел, що стоять на парних позиціях, дорівнює сумі чисел, що стоять на непарних позиціях.
Зазначу наступнев умові даного завдання варто вказати те, що квиток має містити парну кількість цифр для точнішого формулювання умови.
Яким же чином я пропоную розв’язати цю задачу?
По-перше, потрібно знайти механізм рішення, тобто, знаходження найближчого щасливого квитка. Як це зробити. Давайте поміркуємо: у нас є числа, що стоять на парних та непарних позиціях. Якщо їх додати, ми отримаємо два числа, варто визначити яке з них більше та від більшого відняти менше. Наступним кроком є додавання різниці цих сум до першого найменшого числа тієї суми парних чи непарних чисел, що є меншою. Причому потрібно звернути увагу, якщо при додаванні число стає більше за 9, то залишок, що більше 9 додається до попереднього числа відповідної групи.
Лістинг програми подаю у графічному режимі…
ticket
ticket1
ticket2
ticket3
ticket4
ticket5

Немає коментарів:

Дописати коментар