Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1 курс лаб 1_3.doc
Скачиваний:
6
Добавлен:
18.11.2019
Размер:
57.34 Кб
Скачать

Разработать программы до 16 .10 (не менее одной задачи) Сложность с

  1. Даны два неубывающих массива X=(xi),i=1..n, n<=10, и Y=(yi),i=1..m, m<=10. Найти количество общих элементов в этих массивах (т. е. количество тех целых t, для которых t = xi = yj для некоторых i и j). (Число действий порядка m+n.)

  2. Даны два неубывающих массива X=(xi),i=1..n, n<=10, и Y=(yi),i=1..m, m<=10. Найти их "пересечение", т.е. массив Z, содержащий их общие элементы, причем кратность каждого элемента в массиве Z равняется минимуму из его кратностей в массивах X и Y. Число действий порядка m+n.

  3. Даны два неубывающих массива X=(xi),i=1..n, n<=10, и Y=(yi),i=1..m, m<=10. Найти их "пересечение", т.е. массив Z, содержащий только их общие элементы. Число действий порядка m+n.

  4. Даны два массива x[1]<=...<=x[k] и y[1]<=...<=y[l]и число q. Найти сумму вида x[i]+y[j], наиболее близкую к числуq. (Число действий порядка k+l, дополнительная память - фиксиро-ванное число целых переменных, сами массивы менять не разрешает-ся.) Указание. Надо найти минимальное расстояние между элемента-ми x[1]<=...<=x[k] и q-y[l]<=..<=q-y[1], что нетрудно сделать входе их слияния в один (воображаемый) массив.

  5. Даны два неубывающих массива X=(xi),i=1..n, n<=10, и Y=(yi),i=1..m, m<=10 и число q. Найти сумму вида (x(i)+y(j)), наиболее близкую к числу q. (Число действий порядка m+n, дополнительная память - фиксированное число целых переменных, сами массивы менять не разрешается.)

  6. Даны три неубывающих массива X=(xi),i=1..n, n<=10, и Y=(yi),i=1..m, m<=10. Z=(zi), i=1..d, d<=10. Некоторое число содержится в каждом из трех этих массивов. Найти одно из таких чисел. Число действий должно быть порядка n + m + d.

  7. Даны три неубывающих массива X=(xi),i=1..n, n<=10, и Y=(yi),i=1..m, m<=10. Z=(zi), i=1..d, d<=10. Определить, существует ли общий элемент в трех неубывающих массивах и найти один из общих элементов, если они есть. Число действий должно быть порядка n + m + d.

  8. Дан A=(ai) , i=1..n, (n<=10),массив и число b. Переставить числа в массиве таким образом, чтобы сначала шли элементы, меньшие b, затем равные b, а лишь затем большие b.

  9. Дана последовательность U=(ai) , i=1..n, (n,<=30).целых чисел. Найти максимальную длину ее возрастающей подпоследовательности (число действий порядка n*log(n)).

  10. Даны две последовательности A=(ai) , i=1..n, (n,<=10) и В=(bj), j=1..m, (m<=10) целых чисел. Найти максимальную длину последовательности, являющейся подпоследовательностью обеих последовательностей. Количество операций порядка n*k.

  11. Задана целочисленная последовательность A=(ai), i=1..n, n<=100. Если она является перестановкой, то есть содержит все числа от 1 до N, то вывести сообщение, в противном случае вывести номер первого недопустимого элемента.

  12. Дано натуральное число n > 1. Определить период десятичной записи дроби 1/n.

  13. Задана целочисленная последовательность A=(ai), i=1..n, n<=100. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии — количество этих элементов (длина серии может быть равна 1). Преобразовать массив, увеличив каждую его серию на один элемент.

  14. Задана целочисленная последовательность A=(ai), i=1..n, n<=100. Найти количество различных чисел среди элементов этого массива. (Число действий должно быть порядка n*n.)

  15. Удалить из возрастающей последовательности A=(ai), i=1..n, n<=100, наименьшее число элементов, чтобы получить строго возрастающую последовательность .

  16. Добавить к некоторой последовательности A=(ai), i=1..n, n<=100, наименьшее число элементов, чтобы получить арифметическую прогрессию ( напр 22 1 36 -> 1 8 15 22 29 36)

  17. Задана целочисленная последовательность A=(ai), i=1..n, n<=100.  Вывести индексы последовательности в том порядке, в котором соответствующие им элементы образуют убывающую последовательность.

  18. *Вычислить N! Для N>12.