Задания муниципального этапа всероссийской олимпиады школьников по информатике в 2014/2015 учебном году. 9-11 классы (время выполнения заданий 4 часа) 1. Цифры (100 баллов) Пете нужно быстро найти сумму цифр числа, которое ему называет Вася. Известно, что Вася с Петей договорились не называть чисел, больших по модулю, чем 109. Все названные числа - целые. Помогите Пете написать необходимую программу. Входные данные В единственной строке файла DIGITS.IN записано единственное целое число N, такое что |N|<109 Выходные данные В файл DIGITS.OUT выведите S – сумму цифр числа N. Пример DIGITS.IN DIGITS.OUT 169 16 155558624 41 2. Часы (100 баллов) Имеются часы с 12-часовым круглым циферблатом и двумя стрелками – часовой и минутной. Все деления на циферблате стерлись, кроме начального (на 12 часов). Владимир измерил и записал углы, на которые отклонены стрелки от начального деления. Помогите ему определить, сколько времени часы показывают, либо они сломаны. Часы считаются сломанными, если они показывают невозможное время (часовая и минутная стрелка не синхронизированы) (рис.) Часы показывают время 3:0 Часы показывают невозможное время (сломаны) Замечание: Владимир измерял углы отклонения стрелок часов, как ни странно, по направлению движения часовой стрелки. Входные данные В единственной строке файла CLOCK.IN записаны два неотрицательных целых числа X и Y через пробел – углы в градусах поворота часовой и минутной стрелок соответственно. 0≤ X,Y<360 Выходные данные В файл CLOCK.OUT выведите время в формате “hh:mm” (без кавычек), либо символ “*” если часы сломаны. Пример CLOCK.IN CLOCK.OUT 60 0 2:0 105 55 * 217 84 7:14 3. Cчиталочка (100 баллов) В круге стоят N человек (рис.). Они пронумерованы от 1 до N. Поочередно из круга начинает выходить каждый K-й человек. Это продолжается до тех пор, пока в круге не останется последний человек. Определить его номер. Например, если в круге стояло 7 человек и по считалке выходит каждый третий, то его поочерёдно покинут 3, 6, 2, 7, 5, 1. Оставшимся будет человек, стоявший на 4 месте. Входные данные В единственной строке файла COUNT.IN записаны два натуральных числа, не превышающих 30000, N и K через пробел – количество людей в кругу, и какого по счету указывает считалочка. Выходные данные В файл COUNT.OUT выведите единственное число – номер оставшегося в круге человека Пример COUNT.IN 73 4. COUNT.OUT 4 Факториал (100 баллов) Дано натуральное число n (которое также может быть равно нулю). Вычислить n! n! (факториал числа n, читается «эн факториал») – произведение всех натуральных чисел до n включительно. Примечание: 0!=1 (ноль факториал считается равным единице) Входные данные В единственной строке файла FACT.IN записано натуральное число N не больше 10000 Выходные данные В файл FACT.OUT выведите единственное число – значение n!. Пример FACT.IN 3 6 20 FACT.OUT 6 720 2432902008176640000 5. Острова (100 баллов) Каждый элемент квадратной матрицы размеренности N x N равен нулю, либо единице. Найдите количество «островов», образованных единицами. Под «островом» понимается группа единиц (либо одна единица), со всех сторон окруженная нулями (или краями матрицы). Единицы относятся к одному «острову», если из одной из них можно перейти к другой «наступая» на единицы, расположенные в соседних клетках. Соседними являются клетки, граничащие по горизонтали или вертикали. Примечание: одна единица тоже считается островом. Входные данные В первой строке файла ICELAND.IN записано натуральное число N не больше 100 - размер квадратной матрицы. В следующих N строках задаются элементы матрицы через пробел. Выходные данные В файл ICELAND.OUT выведите единственное число - количество островов. Пример ICELAND.IN 5 10111 00000 11101 01001 00011 ICELAND.OUT 4 Для ВСЕХ задач: Максимальное время работы на одном тесте: Максимальный объем используемой памяти: 1 секунда 64 мегабайта