Задачи_малышковой_информатика

advertisement
«Малышковая» олимпиада по информатике школьный тур 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}
Download