Задачи

altПредлагаю вам решить ещё несколько задач. Вот они:

1)Найти и вывести на экран число, меньшее 250, которое при делении на 2 даёт в
остатке 1, при делении на 3 даёт в остатке 2, при делении на 4 — 3, на 5 — 4, на 6 — 5, но на 7 делится нацело.

2)Для заданных 4-х точек на плоскости найти пути минимального и максимального обхода их по замкнутому маршруту (под обходом понимается замкнутая ломаная линия, проходящая через каждую точку не более одного раза, кроме начальной).

Пимер координат:

x y
0 0
0 3
4 0
5 10

3) Фокусник раскладывает колоду карт (52 листа, 4 масти) по одной карте сверху на 4 кучки. Затем кучки складываются в колоду в порядке возрастания номеров (внизу первая). Данный процесс повторяется n раз, после чего в кучках оказываются карты одной масти, расположенные в возрастающем порядке : нижняя-двойка, верхняя туз (1 кучка — пики, 2 — трефы, 4- черви). Во всех действиях карты лежат рубашкой вверх. В каком порядке фокусник должен сложить карты в колоду перед показом фокуса?

Требования: Число n вводится с клавиатуры.
Ответ представить в виде 4-х строк на экране по 13 карт в строке.
Карты обозначаются: 2п — двойка пик, 10б — десятка бубен, тч — туз черви.

Я предлагаю вам решить следующие задачи, из олимпиады, предложенной на нашей школьной олимпиаде в 2000 году(средняя сложность):

1)Сумма цифр x равна y, а сумма цифр числа у равна z. Найти x если x+y+z=60.

2)Дано натуральное число c. Заменить в нём все ‘пятёрки’ на ‘единицы’.

3)Расшифруйте ребус: т р и — д в а = я р д.

4)Дано число N в десятичной системе счисления. Найти количество цифр и количество единиц в его двоичном представлении.

5)В целочисленном массиве A, содержится N элементов.Найти число повторяющееся максимальное число раз. Если этих чисел несколько, то выбрать одно из них.

Удачи…

Давайте сегодня рассмотрим алгоритмы решения некоторых задач:

Задача 1 Триангуляция (на 6 баллов)

Даны координаты вершин квадрата на плоскости. Внутри квадрата имеется n точек. Рассматриваются эти точки вместе с вершинами квадрата, причём никакие 3 из них не лежат на одной прямой. Описать алгоритм разбиения квадрата на непересекающиеся треугольники с вершинами в данных точках.

Решение:

Разбиение геометрической фигуры на элементарные треугольники называется триангуляция. Этот процесс часто применяется и в математике и в информатике, и во многих инженерных задачах. В данной задаче вершины элементарных треугольников заданы.
Проведём диагональ данного квадрата и решим отдельно задачу для двух получившихся треугольников. Объединение решений, очевидно, даст искомое решение исходной задачи.
Приведём рекурсивный алгоритм триангуляции треугольника.

Алгоритм Триангуляция:

Если точек, попавших внутрь данного треугольника нет, то добавляем данный треугольник в итоговый список.

В противном случае, выбираем точку внутри треугольника, соединяем её с вершинами треугольника и применяем алгоритм ‘Триангуляция’ к каждому из 3 образовавшихся тр-ков.

Задача 2. Числа Фибоначчи (на 6 баллов)
Что такое числа Фибоначчи, я надеюсь, нет нужды объяснять — это такая последовательность, где каждый следующий член — сумма 2-х предыдущих, а первые два члена — 1,1.

Лучше всего использовать следующий рекурсивный алгоритм функции:

Fib(n:integer):integer;

Begin
If n<3 then fib:=1
Else fib:=fib(n-1)+fib(n-2);
End;

Понравилась статья? Поделиться с друзьями: