Задания для самостоятельной работы (программирование)
RSS-лентаПакет 2. Задания для разминки 5
Общая информация 5
Пакет 3. Системы счисления. Целочисленная арифметика 4
Пакет 4. Длинная арифметика 5
Пакет 5. Рекурсивные алгоритмы 5
Пакет 6. Бинарный поиск 5
Пакет 7. Сортировка 5
8. Комбинаторика 0
3.1. Перевод числа
Перевести число из системы счисления с основанием p в систему счисления с основанием q. 2<=p,q<=36. В системах счисления с основанием большим 10 в качестве цифр используются буквы латинского алфавита: A, B, ... , Z.
Список литературы для подготовки к олимпиаде
Книги по базовой математической подготовке для программистов:
Андреева Е.В. Математические основы информатики. Элективный курс: Учебное пособие / Е.В. Андреева, Л.Л. Босова, И.Н. Фалина ─ 2-е изд., испр. ─ М.: БИНОМ. Лаборатория знаний, 2012. ─ 328 с.
Книги для подготовки к олимпиадам:
Окулов С.М. Программирование в алгоритмах / С.М. Окулов ─ М.: БИНОМ. Лаборатория знаний, 2004. ─ 341 с.
Порублев И.Н., Ставровский А.Б. Алгоритмы и программы. Решение олимпиадных задач ─ М.: ООО «И.Д. Вильямс», 2007. ─ 480 с.
Меньшиков Ф.В. Олимпиадные задачи по программированию. ─ СПб.: Питер, 2006. ─ 315 с.
Шень А. Программирование: теоремы и задачи. ─ 2-е изд., испр. и доп. ─ М.: МЦНМО, 2004. ─ 296 с.
Долинский М.С. Алгоритмизация и программирование на Turbo Pascal: от простых до олимпиадных задач: Учебное пособие. ─ СПб.: Питер, 2005. ─ 237 с.
Московские олимпиады по информатике / Под ред. Е.В. Андреевой, В.М. Гуровица и В.А. Матюхина. ─ М.: МЦНМО, 2006. ─ 256 с.
Скиенна С.С., Ревилла М.А. Олимпиадные задачи по программированию. Руководство по подготовке к соревнованиям / Пер. с англ. ─ М.: КУДИЦ-ОБРАЗ, 2005. ─ 416 с.
Книги для изучения алгоритмов:
Левитин А.В. Алгоритмы: введение в разработку и анализ: Пер. с англ. ─ М.: Издательский дом «Вильямс», 2006. ─ 576 с.
Потопахин В.В. Искусство алгоритмизации. ─ М.: ДМК Пресс, 2011. ─ 320 с.
Другие книги:
Окулов С.М. Абстрактные типы данных / С.М. Окулов ─ М.: БИНОМ. Лаборатория знаний, 2009. ─ 250 с.
Окулов С.М. Динамическое программирование / С.М. Окулов, О.А. Пестов. ─ М.: БИНОМ. Лаборатория знаний, 2012. ─ 296 с.
Окулов С.М. Ханойские башни / С.М. Окулов, А.В. Лянин ─ М.: БИНОМ. Лаборатория знаний, 2008. ─ 245 с.
Окулов С.М. Алгоритмы обработки строк / С.М. Окулов ─ М.: БИНОМ. Лаборатория знаний, 2009. ─ 255 с.
Андреева Е.В. Математические основы информатики. Элективный курс: Учебное пособие / Е.В. Андреева, Л.Л. Босова, И.Н. Фалина ─ 2-е изд., испр. ─ М.: БИНОМ. Лаборатория знаний, 2012. ─ 328 с.
Книги для подготовки к олимпиадам:
Окулов С.М. Программирование в алгоритмах / С.М. Окулов ─ М.: БИНОМ. Лаборатория знаний, 2004. ─ 341 с.
Порублев И.Н., Ставровский А.Б. Алгоритмы и программы. Решение олимпиадных задач ─ М.: ООО «И.Д. Вильямс», 2007. ─ 480 с.
Меньшиков Ф.В. Олимпиадные задачи по программированию. ─ СПб.: Питер, 2006. ─ 315 с.
Шень А. Программирование: теоремы и задачи. ─ 2-е изд., испр. и доп. ─ М.: МЦНМО, 2004. ─ 296 с.
Долинский М.С. Алгоритмизация и программирование на Turbo Pascal: от простых до олимпиадных задач: Учебное пособие. ─ СПб.: Питер, 2005. ─ 237 с.
Московские олимпиады по информатике / Под ред. Е.В. Андреевой, В.М. Гуровица и В.А. Матюхина. ─ М.: МЦНМО, 2006. ─ 256 с.
Скиенна С.С., Ревилла М.А. Олимпиадные задачи по программированию. Руководство по подготовке к соревнованиям / Пер. с англ. ─ М.: КУДИЦ-ОБРАЗ, 2005. ─ 416 с.
Книги для изучения алгоритмов:
Левитин А.В. Алгоритмы: введение в разработку и анализ: Пер. с англ. ─ М.: Издательский дом «Вильямс», 2006. ─ 576 с.
Потопахин В.В. Искусство алгоритмизации. ─ М.: ДМК Пресс, 2011. ─ 320 с.
Другие книги:
Окулов С.М. Абстрактные типы данных / С.М. Окулов ─ М.: БИНОМ. Лаборатория знаний, 2009. ─ 250 с.
Окулов С.М. Динамическое программирование / С.М. Окулов, О.А. Пестов. ─ М.: БИНОМ. Лаборатория знаний, 2012. ─ 296 с.
Окулов С.М. Ханойские башни / С.М. Окулов, А.В. Лянин ─ М.: БИНОМ. Лаборатория знаний, 2008. ─ 245 с.
Окулов С.М. Алгоритмы обработки строк / С.М. Окулов ─ М.: БИНОМ. Лаборатория знаний, 2009. ─ 255 с.
Электронные источники
acmp.ru (сайт «Школа программиста» для школьников Красноярского края)
algolist.manual.ru/olimp (сайт «Олимпиадные задачи по программированию»)
imcs.dvgu.ru/works/school.html (сайт школьных олимпиад, проводимых в Приморском крае)
informatics.mccme.ru (сайт дистанционной подготовки по информатике Московского института открытого образования и МЦНМО)
olympiads.ru (сайт по олимпиадной информатике)
intuit.ru (электронные курсы)
algolist.manual.ru/olimp (сайт «Олимпиадные задачи по программированию»)
imcs.dvgu.ru/works/school.html (сайт школьных олимпиад, проводимых в Приморском крае)
informatics.mccme.ru (сайт дистанционной подготовки по информатике Московского института открытого образования и МЦНМО)
olympiads.ru (сайт по олимпиадной информатике)
intuit.ru (электронные курсы)
2.3. Заполнение змейкой
Требуется заполнить змейкой квадратную матрицу так, как показано на рисунке справа: заполнение происходит с единицы из левого верхнего угла и заканчивается в правом нижнем числом N^2, где N – порядок матрицы.
Лимит времени: 1 с
Входные данные
Во входном файле INPUT.TXT задано натуральное число N – размер квадратной матрицы (N<=100).
Выходные данные
В выходной файл OUTPUT.TXT выведите матрицу, заполненную числами от 1 до N^2 змейкой, при этом между числами может быть любое количество пробелов
Пример
INPUT.TXT
4
OUTPUT.TXT
1 3 4 10
2 5 9 11
6 8 12 15
7 13 14 16
Лимит времени: 1 с
Входные данные
Во входном файле INPUT.TXT задано натуральное число N – размер квадратной матрицы (N<=100).
Выходные данные
В выходной файл OUTPUT.TXT выведите матрицу, заполненную числами от 1 до N^2 змейкой, при этом между числами может быть любое количество пробелов
Пример
INPUT.TXT
4
OUTPUT.TXT
1 3 4 10
2 5 9 11
6 8 12 15
7 13 14 16
2.1. Стрелки часов
Стрелки часов движутся с постоянными угловыми скоростями и показывают h часов m минут. Найти число полных минут до ближайшего момента, в который стрелки совпадут.
Входные данные:
Два целых числа h (от 0 до 11) и m (от 0 до 59).
Выходные данные:
Целое число минут
Примеры:
INPUT.TXT
0 0
OUTPUT.TXT
0
INPUT.TXT
1 1
OUTPUT.TXT4
Входные данные:
Два целых числа h (от 0 до 11) и m (от 0 до 59).
Выходные данные:
Целое число минут
Примеры:
INPUT.TXT
0 0
OUTPUT.TXT
0
INPUT.TXT
1 1
OUTPUT.TXT4
2.4. Старинные часы
В фойе управления железной дорогой установили старинные часы. Эти часы бьют каждые полчаса. Причем в начале каждого часа они бьют столько раз, сколько сейчас часов (по 1 разу – в час ночи и в час дня, по 2 раза – в два часа ночи и в два часа дня и т.д., в полночь и в полдень они бьют, соответственно, по 12 раз). И еще 1 раз они бьют в середине каждого часа.
В A часов B минут в фойе зашел посетитель. Начальник железной дороги принял его в C часов D минут. Известно, что посетитель ждал вызова строго меньше 24 часов. Однако начальник мог заставить ждать посетителя весь вечер и всю ночь, приняв его лишь под утро. Для того чтобы скрасить утомительное ожидание, посетитель стал считать удары старинных часов.
Ваша программа должна определить, сколько ударов сделали часы за время, пока посетитель ждал вызова
Ввод
На вход подаются две строки. В первой строке находятся целые числа A и B, разделенные пробелом. Во второй, соответственно, C и D. Числа A и C находятся в интервале от 0 до 23 включительно. Числа B и D находятся в интервале от 1 до 59 включительно, при этом ни B, ни D не равно 30.
Вывод
Следует вывести одно число – количество ударов, которые сделали часы за этот отрезок времени
Примеры
В A часов B минут в фойе зашел посетитель. Начальник железной дороги принял его в C часов D минут. Известно, что посетитель ждал вызова строго меньше 24 часов. Однако начальник мог заставить ждать посетителя весь вечер и всю ночь, приняв его лишь под утро. Для того чтобы скрасить утомительное ожидание, посетитель стал считать удары старинных часов.
Ваша программа должна определить, сколько ударов сделали часы за время, пока посетитель ждал вызова
Ввод
На вход подаются две строки. В первой строке находятся целые числа A и B, разделенные пробелом. Во второй, соответственно, C и D. Числа A и C находятся в интервале от 0 до 23 включительно. Числа B и D находятся в интервале от 1 до 59 включительно, при этом ни B, ни D не равно 30.
Вывод
Следует вывести одно число – количество ударов, которые сделали часы за этот отрезок времени
Примеры
2.5. Самое длинное слово
В заданном тексте требуется найти самое длинное слово
2.2. Ребус
Составить программу поиска всех решений ребуса VOLVO + FIAT = MOTOR. Разным буквам соответствуют разные цифры, одинаковым – одинаковые. Старшая цифра каждого числа отличается от нуля.