1. "Делимость". Найти все n-значные натуральные числа вида *00...00** (где * заменяет одну из цифр 0, 1, ..., 9), которые нацело делятся одновременно на 15, 18, 20.
2. "Форматирование текста". В ЭВМ вводится текстовая строка, длина которой не превышает 250 символов. Отдельные слова в тексте разделены пробелами, причем их количество может быть произвольно.
Написать программу, которая выводит такой текст на экран, разбивая его на строки из N символов, причем пробелы между словами требуется расположить таким образом, чтобы первый и последний символы строки были отличны от пробела (за исключением последней строки, которую разрешается закончить пробелом). Предусмотреть выдачу сообщения в случае невозможности решения.
Для облегчения процесса тестирования в программе предусмотреть возможность один и тот же текст обработать несколько раз для различных значений N.
Примечания
1) Разделение отдельных символов слова недопустимо. Знаки препинания (точка, запятая и др.) считать относящимися к предыдущему слову.
2) В каждую строку необходимо включать максимально возможное количество слов.
3) Количество пробелов между словами в пределах одной строки не должно отличаться более чем на один.
3. "Тетрамино". На клетчатой бумаге размером M * N клеток (M > 3 и N > 3) находится некоторое количество тетрамино (фигур, состоящих из 4-х клеток, примыкающих друг к другу сторонами), не имеющих общих точек. Написать программу, позволяющую определять: можно ли при заданном расположении тетрамино поместить на этом листе еще хотя бы одну фигуру так, чтобы она также не имела с остальными фигурами точек соприкосновения. Должен выводиться один вариант расположения, т.е. координаты клеток, которые займет новая фигура. Предусмотреть анализ корректности вводимой информации.
4. "Ладьи". Имеется шахматная доска N * N клеток. Написать программу, позволяющую найти количество существенно различных (с точностью до поворотов, осевой и центральной симметрии) расстановок N ладей так, чтобы они не били друг друга.
Примечание: 1 < N < 11.
1. “Календарь XX века для суеверного человека”. Написать программу, которая по заданному номеру года XX столетия выводит названия всех месяцев этого года, в которых пятница приходится на 13-е число.
Пример ввода-вывода
1992 -> Март Ноябрь
2. “Числа Каталана”. Написать программу, вычисляющую (n + 1)-ый член последовательности Каталана, задаваемой рекуррентным соотношением:
Примечание: программа должна выдавать абсолютно точный результат для n < 1000.
Пример ввода-вывода:
Введи N: 93
A(93)=60960876535340415751462563580829648891969728907438000
3. “Матрица отношений”.
Написать программу, позволяющую по заданной матрице отношений R размера N*N найти натуральные X[i] (i = 1, 2, ...,
n) такие, что:
Пример ввода-вывода:
N = 6 String 1: =<<<<< String 2: >=<<<< String 3: >>=<<< String 4: >>>=<< String 5: >>>>=< String 6: >>>>>=
X | 2 | 4 | 6 | 7 | 8 | 9 |
2 | = | < | < | < | < | < |
4 | > | = | < | < | < | < |
6 | > | > | = | < | < | < |
7 | > | > | > | = | < | < |
8 | > | > | > | > | = | < |
9 | > | > | > | > | > | = |
4. Задача “Разбиение”. Написать программу, позволяющую определить для натуральных A, B: можно ли разбить последовательные целые числа от A до B на M групп по N элементов так, чтобы каждый элемент входил в одну и только в одну группу, и суммы чисел во всех группах были одинаковыми. Если такое разбиение существует, то вывести M, N и найденное разбиение.
Примечание: M > 1, N > 1, A <= B <= 200. На входе: A, B.