Задача Сlock
(надана службою точного часу) Технічні умови: Програма читає два цілих числа h та m з клавіатури. Програма виводить ціле число хвилин на екран. Приклади. Введення: 0 0 Виведення 0 Введення: 1 1Виведення: 4 |
Ця задача - типовий приклад "задач на придумку". Для того, щоб такі задачі розв'язувати, не потрібно знати якісь спеціальні методи. Потрібно лише ДУЖЕ АКУРАТНО і послідовно думати. Ця якість (точніше - її відсутність) саме "акуратного" способу мислення дуже часто заважає учням навіть з непоганою математичною підготовкою успішно справлятися з задачами з інформатики.
Спробуємо провести "сеанс акуратного думання" :-).
Спочатку з'ясуємо, як часто стрілки сходяться:
рівно в 0:00, потім приблизно в 1:05, в 2:11, і так далі, в 10:55 - всього одинадцять положень.
Кутові швидкості стрілок постійні, тому «збіги» настають через рівні проміжки часу.
Отже, між ними проходить 12/11 години, або (12*60) /11 хвилин.
Проміжок часу від моменту першого збігу 0:00 до моменту h : m (h годин m хвилин) рівний 60*h+m хвилин і є проміжком часу від одного із збігів стрілок до моменту h:m.
Причому, це збіг останній, якщо 60*h+m <(12*60)/11.
Якщо ж 60*h+m >= (12*60)/11, то можна обчислити 60*h+m - (12*60) /11 (час після другого збігу), 60*h+m - 2*(12*60) /11 (після третього) і так далі.
На деякому кроці отримаємо різницю t в межах від 0 до (12*60) /11. Це і буде проміжок часу після останнього збігу до моменту h: m.
Отже, до наступного "збігу" залишилося (12*60) /11 - t хвилин, і залишається лише узяти цілу частину цього числа.
Якщо ви все зрозуміли - спробуйте написати розв'язок та перевірити його в on-line
матеріал розміщено на сторінці платформи для дистанційного навчання :https://disted.edu.vn.ua/courses/work/85