Главная /
Программирование /
Функция merge слияния двух упорядоченных массивов применяется к двум массивам длины 100 и 1000. Какое минимальное число сравнений может быть сделано при выполнении этой функции?
Функция merge
слияния двух упорядоченных массивов
применяется к двум массивам длины 100 и 1000. Какое минимальное
число сравнений может быть сделано при выполнении этой функции?
вопрос
Правильный ответ:
99
100
999
1000
Сложность вопроса
46
Сложность курса: Программирование
84
Оценить вопрос
Комментарии:
Аноним
Благодарю за тесты по intiut'у.
19 янв 2016
Другие ответы на вопросы из темы программирование интуит.
- # Функция arctg(x) (ее также обозначают arctan или atan) представляется рядом Тейлора: arctg(x) = x - x3/3 + x5/5 - x7/7 + ... Этот ряд сходится лишь для значений x, по модулю не превосходящих единицы, а эффективно вычислять его можно лишь для x, по модулю существенно меньших единицы - например, |x|<0.5. (Для значений x, по модулю близких к единице и не превосходящих единицу, ряд сходится, но очень медленно, а точность вычисления его суммы невысока.) Какие способы вычисления функции arctan(x) для "плохих" значений x возможны? Укажите все разумные способы из числа перечисленных ниже. (Предполагается, что мы умеем быстро и точно вычислять квадратный корень sqrt(z), а также знаем константу pi.)
- # Отметьте, в каких из трех конструкций цикла языка C тело цикла может ни разу не выполняться.
- # Постановка задачи: программа должна содержать функцию, которая получает в качестве параметров имя массива и его длину (или нескольких массивов, если этого требуют условия задачи) и выполняет необходимые действия. При решении не разрешается создавать или резервировать в программе дополнительную память, соизмеримую по размерам с объемом исходных данных. То есть, нельзя создавать дополнительные массивы, если это явно не оговорено в задаче. Функция main должна заполнить массив числами из файла. Для определения длины массива предусматривается два варианта: 1) по значению первого числа в файле, 2) непосредственным подсчетом количества чисел в файле. Результат также выводится в файл. Задание: Выполнить следующее преобразование массива длины N . Элементы с индексами i <= [(N + 1)/2] переместить на позиции с четными индексами с сохранением их исходного порядка относительно друг друга, а оставшиеся элементы (i > [(N + 1)/2]) разместить на позициях с нечетными индексами также с сохранением их исходного порядка. Т.е. начальная и конечная половины массива "перемешиваются" чередованием элементов.
- # Левым нейтральным элементом (левой единицей) для бинарной операции называется элемент e такой, что для всякого другого элемента x "произведение" e на x равно x: e x = x. Какие элементы будут нейтральными для операций суммы и максимума чисел соответственно?
- # Пусть f(x) - вещественная функция функция от вещественного аргумента. Определить, содержит ли следующий фрагмент программы ошибку (т.е. действительно ли тело цикла сохраняет инвариант): // Программа корень функции double a, b, c; double eps = 0.000001; . . . // утверждение: a < b && f(a)*f(b) <= 0.0 // Значения функции на концах отрезка [a, b] разных знаков while (b - a > eps) { // Invariant: f(a)*f(b) <= 0.0 // Делим отрезок [a, b] пополам c = (a + b)/2.0; // c - середина отрезка [a, b] if (f(a) * f(c) < 0.0) { b = c; // выбираем левую половину отрезка } else { a = c; // выбираем правую половину } } // утверждение: b - a <= eps && // f(a)*f(b) <= 0.0