«Малышковая» олимпиада по информатике школьный тур 9-14 марта 2015 г. Задача_1 «Трояки и пятаки» (25 баллов) Знайка и Незнайка нашли клад, в котором были монеты номиналом 3 рубля и 5 рублей (трояки и пятаки). Знайке достались пятаки, а Незнайке – трояки. Теперь все покупки они делают вместе, рассчитываясь монетами так, чтобы монет ушло как можно меньше (!!!), и продавцу не пришлось бы давать сдачи. Например, на покупку стоимостью 22 рубля ушло 2 «пятака» Знайки и 4 «трояка» Незнайки. Друзья не совершают покупки дешевле 8 рублей и дороже 10000 рублей. Написать программу, которая по известной стоимости покупки в рублях, находит, сколько монет отдал Знайка и сколько – Незнайка, и чтобы общее количество этих монет было бы минимальным. Ввод исходных данных осуществляется с клавиатуры, вывод—на экран. Формат ввода: Вводится одно натуральное число s (8 ≤ s ≤ 10000). Формат вывода: Выводятся через пробел два натуральных числа, первое из которых означает количество «пятаков», второе – количество «трояков». Пример: Ввод: Вывод: 175 35 0 { на покупку стоимостью 175 руб. ушло 35 «пятаков» и 0 «трояков» } Задача_2 «Время в полёте» (25 баллов) Знайка и Незнайка летят на самолёте из одного города в другой. Местное время вылета и местное время прилёта известно. Также известны часовые пояса, в которых расположены города вылета и прилёта. Друзья никак не могут рассчитать время полёта. Написать программу, которая по известному местному времени вылета (в часах и минутах) и известному местному времени прилёта (в часах и минутах), а также часовым поясам городов (целые числа, не превышающие 23), находит время полёта (сколько часов и минут самолёт находился в воздухе) Ввод исходных данных осуществляется с клавиатуры, вывод—на экран. Формат ввода: Вводится шесть натуральных чисел ≤ в две строки: 1-я строка – четыре натуральных числа через пробел (часы и минуты вылета, часы и минуты прилёта). 2-я строка – два натуральных числа через пробел (часовой пояс города вылета и часовой пояс города прилёта) Формат вывода: Выводятся через пробел два натуральных числа, (продолжительность полёта в часах и минутах) Пример: Ввод: Вывод: 17 55 19 54 2 59 32 { время полёта составляет 2 часа и 59 минут } Задача_3 «Последний поворот» (25 баллов) Мой друг часто, откровенно говоря, скучает на математике. И от этой скуки придумывает на свою голову и на мою тоже различные задачки. Вот сегодня он придумал робота, который умеет двигаться по спирали. Изначаольно он на находится в точке (0,0). Роботу задаются целые числа m и n. И он начинает двигаться против часовой стрелки по спирали внутри прямоугольника с вершинами в точках (0,0), (m,0), (m,n), (0,n). Двигается робот только по прямой в горизонтальном и вертикальном направлениях и только по точкам с целочисленными координатами, проходя через каждую из них только раз. Останавливается только тогда, когда все точки с целочисленными координатами пройдены. Да и поворачивать робот умеет только налево. Например, если размер прямоугольника 10 х 8, то робот последний раз повернёт в точке (3,4). Написать программу, которая по известным натуральным числам m и n (m,n <51) определяет координаты точки, в которой робот сделает последний поворот при своём движении по спирали. Ввод исходных данных осуществляется с клавиатуры, вывод—на экран. Формат ввода: Вводятся два натуральных числа m и n (m,n <51), разделённые символом «пробел». Формат вывода: На экран выводятся два натуральных числа х и у, разделённые символом «пробел». Пример: Ввод: Вывод: 10 8 34 { если размер прямоугольника 10 х 8, то робот последний раз повернёт в точке с координатами (3,4)} Задача_4 «Обнулённые числа» (25 баллов) Мой друг часто, откровенно говоря, скучает на математике. И от этой скуки придумывает на свою голову и на мою тоже различные задачки. Вот сегодня он написал какое-то число и сказал, что будет его “обнулять”. Что он делает: Все цифры, стоящие на начётных местах, уменьшает на единицу, а все цифры, стоящие на чётных местах, увеличивает на единицу. При этом цифры 0 он не трогает. Если на чётном месте месте стояла цифра 9, то она превращается в цифру 0. После этого нуль или нули, которые могли появиться впереди, он откидывал (т.е. оставлял значащие цифры) и повторял с числом ту же процедуру “обнуления”несколько раз. Всё это он делал в уме. А я делал на бумаге. В какой-то момент он сказал, что знает сумму цифр оставшегося числа и назвал её. Я проверил всои записи: число 1 2 3 4 5 6 7 8 шаг 1 3 2 5 4 7 6 9 8 шаг 2 2 3 4 5 6 7 8 9 шаг 3 1 4 3 6 5 8 7 0 шаг 4 5 2 7 4 9 6 0 шаг 5 4 3 6 5 8 7 0 шаг 6 3 4 6 5 7 8 0 шаг 7 2 5 5 6 6 9 0 шаг 8 1 6 4 7 5 0 0 шаг 9 7 3 8 4 0 0 9 сумма цифр числа 22 Всё совпало! Друг взял число 123456789, 9 раз его “обнулил”. Сумма цифр полученного числа оказалась 22. Написать программу, которая по введённому числу а (а<1051) и известному количеству шагов (обнулений) n (n<51) находит сумму цифр «обнулённого» числа. Ввод исходных данных осуществляется с клавиатуры, вывод—на экран. Формат ввода: В первой строке вводится целое число а (а<1051), во второй строке число «обнулений» n (n<51). Формат вывода: Выводится одно число, означающее сумму цифр полученного числа. Пример: Ввод: Вывод: 123456789 22 9 { для числа 123456789 и 9 «обнулений» сумма цифр поученного числа равна 22}