База ответов ИНТУИТ

Программирование

<<- Назад к вопросам

Какое максимальное число операций деления можетбыть выполнено в алгоритме Гаусса в процессе приведенияк ступенчатому виду прямоугольной матрицы, содержащей3 строки и 4 столбца?

(Отметьте один правильный вариант ответа.)

Варианты ответа
5 операций деления
3 операции деления (Верный ответ)
6 операций деления
4 операции деления
Похожие вопросы
Какое максимальное число операций деления можетбыть выполнено в алгоритме Гаусса в процессе приведенияк ступенчатому виду квадратной матрицы размера4?
Рассмотрим реализацию матрицы вещественных чиселразмера m строк на n столбцовпри помощи линейного массива,в котором хранятся сначала элементы нулевой строки матрицы,затем первой, второй и т.д., в конце - элементы (m-1)-й строки:
    int m, n; // Размеры матрицы: число строк, столбцов    . . .    double* a = new double[m*n];    // a[i*n + j] -- элемент i-й строки и j-го столбца
Пусть функция с прототипом
void transp(double* a, int m, int n);
реализует транспонированиематрицы, при выполнении которого строки матрицы становятсястолбцами, столбцы - строками, а матрица размераm на nпревращается в матрицу размераn на mПусть эта функция применяется к прямоугольной матрице,содержащей 2 строки и 4 столбца, элементы которой хранятсяв линейном массиве a Сколько элементов массиваa при этом останутся на своем месте?
Рассмотрим реализацию матрицы вещественных чиселразмера m строк на n столбцовпри помощи линейного массива,в котором хранятся сначала элементы нулевой строки матрицы,затем первой и т.д., в конце - элементы (m-1)-й строки:
    int m, n; // Размеры матрицы: число строк, столбцов    . . .    double* a = new double[m*n];    // a[i*n + j] -- элемент i-й строки и j-го столбца
Пусть функция с прототипом
void transp(double* a, int m, int n);
реализует транспонированиематрицы, при выполнении которого строки матрицы становятсястолбцами, столбцы - строками, а матрица размераm на nпревращается в матрицу размераn на mПусть эта функция применяется к прямоугольной матрице,содержащей 3 строки и 5 столбцов, элементы которой хранятсяв линейном массиве a. Сколько элементов массиваa при этом останутся на своем месте?
Рассмотрим реализацию матрицы вещественных чиселразмера m строк на n столбцовпри помощи линейного массива,в котором хранятся сначала элементы нулевой строки матрицы,затем первой, второй и т.д., в конце - элементы (m-1)-й строки:
    int m, n; // Размеры матрицы: число строк, столбцов    . . .    double* a = new double[m*n];    // a[i*n + j] -- элемент i-й строки и j-го столбца
Правильно ли работает следующая функция транспонированияматрицы, при выполнении которой строки матрицы должны статьстолбцами, столбцы - строками, а матрица размераm на nпревратиться в матрицу размераn на m?
void transp(double* a, int m, int n) {    for (int i = 0; i < m; ++i) {        for (int j = 0; j < n; ++j) {            int idx0 = i*n + j;            int idx1 = j*m + i;            if (idx0 < idx1) {                // Меняем местами 2 элемента                double tmp = a[idx0];                a[idx0] = a[idx1];                a[idx1] = tmp;            }        }    }}
Рассмотрим реализацию матрицы вещественных чисел,размеры которой определяютсяв процессе работы программы, через массив указателей на началастрок, захватываемый в динамической памяти. Каждая строкатакже представляет собой отдельный массив вдинамической памяти:
    typedef double* doubleptr;    int m, n; // Размеры матрицы: число строк, столбцов    . . .    doubleptr* a = new doubleptr[m];    for (int i = 0; i < m; ++i) {        a[i] = new double[n];    }    // a[i][j] -- элемент i-й строки и j-го столбца
Сколько обращений к памяти необходимо сделать,чтобы прочесть элемент матрицы вi-й строке и j-м столбце(считая, что значения i и jуже находятся в регистрах процессора)?
Какова асимптотическая оценка времени работыалгоритма Гаусса приведения матрицык ступенчатому видудля случая квадратной матрицы размера n?
Для записи n-значных чисел в системе счисления с основаниемb требуется n разрядов,каждый из которых может находитьсяв b состояниях. Таким образом, суммарное число состоянийравно произведению n*b.Рассмотрим двоичную (b=2), троичную(b=3) и десятичную (b=10) системы счисления.Какая из нихнаиболее экономна по суммарному числу состояний для записичисел в диапазоне 0..N,где N - некоторое достаточно большое число?
Для записи n-значных чисел в системе счисленияс основанием b требуется n разрядов,каждый из которых может находиться в b состояниях.Таким образом, суммарное число состояний равно произведению n*b.Рассмотрим двоичную (b=2), восьмеричную (b=8)и шестнадцатеричную (b=16) системы счисления.Какая из них наиболее экономна по суммарному числу состоянийдля записи чисел в диапазоне 0..N,где N - некоторое достаточно большое число?
Для записи n-значных чисел в системе счисления с основаниемb требуется n разрядов,каждый из которых может находитьсяв b состояниях. Таким образом, суммарное число состоянийравно произведению n*b.Рассмотрим восьмеричную (b=8), десятичную (b=10)и шестнадцатеричную (b=16) системы счисления.Какая из них наиболее экономна по суммарному числу состоянийдля записи чисел в диапазоне 0..N,где N - некоторое достаточно большое число?
Рассмотрим следующий фрагмент программы, вычисляющейчастное q и остаток r от деленияцелых чисел a, b:
    // дано: целые числа a >= 0, b > 0    int a, b;    . . .    int q = 0, r = a;    int e = 1, m = b;    while (r >= b) {        if (2*m <= r) {            e *= 2; m *= 2;        } else if (m > r) {            e /= 2; m /= 2;        } else {            // утверждение: m <= r && r < 2*m            q += e; r -= m;        }    }    // q и r - частное и остаток от деления a на b
Какое условие является инвариантом цикла?