Олимпиада по программированию

advertisement
Олимпиада по программированию. Центр обучающих технологий BELHARD.
Общие положения:
1. В олимпиаде представлено 8 задач разной степени сложности. Сложность каждой задачи указана в
фигурных скобках после задачи.
2. Продолжительность олимпиады 4 академических часа (180 минут).
3. Задачи можно решать на любом порядке.
4. Задачи можно решать на любом из предложенных языков (Java, C/C++).
5. Результаты с исходным кодом сохранить в текстовом документе со своей фамилией. Например
Petrov.txt. О виде отчета можно получить консультацию у преподавателя.
6. Победители получат грамоты.
Задачи.
1. Перевернуть строку (25 баллов). Задана непустая строка S и два
целых числа A и B (1<=A<=B, B не превосходит длины строки). Требуется
"перевернуть" часть строки, поменяв местами символы с номерами A и B, A+1
и B-1, ... , A+n и B-n до тех пор, пока A+n<B-n. Длина строки не превосходит
200 символов.
2. "Минимальное число" (9 баллов)
Требуется написать программу, которая из цифр двух натуральных чисел создает
наименьшее возможное число, сохраняя при этом порядок следования цифр в этих
числах. Пример входных данных:
125
43
Пример выходных данных:
12435
{9 баллов}
3. "Цифры ряда Фибоначчи" (15 баллов)
Ряд Фибоначчи строится следующим образом: первые два числа равны по 1, каждое
следующее равно сумме двух предыдущих. Выпишем все числа ряда без пробелов –
1123581321….
Требуется написать программу, которая по заданному n определит цифру, стоящую в
выписанной последовательности на n месте.
Формат входных данных:
одно число n (1n32767).
Формат выходных данных:
одну найденную цифру.
Пример входных данных:
4
Пример выходных данных (для приведенного выше входного файла):
3
{15 баллов}
4.
Дана строка(очень длинная). Посчитать сумму всех цифр в строке. {7 баллов}
5.
Напишите программу, которая печатает следующие трафареты. Причем каждая функция printf()
должна печататься
только одну
{8 баллов}
Дано семизначное число. Проверить истинность утверждения. Все цифры числа
различны. {12 баллов}
Имеются красная и зеленая бактерии. При определенных условиях в течении одной
секунды красная бактерия делиться на две бактерии красную и зеленую, а зеленая
превращается в красную. В колбу помещается одна красная бактерия, необходимо
определить, сколько бактерий красного и зеленого цвета будут находиться в колбе
через N секунд. Значение N вводиться с клавиатуры.
{10 баллов}
звездочку.
6.
7.
8.
Жители одного государства очень любят различные математические головоломки.
Даже тот, кто желает получить въездную визу, должен решить задачу: отыскать
ключевое слово. Условие задачи таково:
Вводим несколько чисел (не больше 10). Если сложить все цифры в каждом числе,
получатся новые числа. Далее, следует сложить все цифры в каждом из вновь
полученных чисел. Процесс следует продолжать до тех пор, пока в результате не
останутся числа, меньшие 10. После этого все просто: числа от 0 до 9 - это номера букв
в алфавите (в этом государстве алфавит состоит всего из десяти букв они следующие
abminskoet). Замена чисел буквами и дает ключевое слово.
Напишите программу, которая будет отыскивать ключевое слово. Причем сколько
чисел необходимо ввести решает сама программа. . {16 баллов}
Download