Главная /
Программирование /
Рассмотрим следующий фрагмент программы, вычисляющей частное 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; } e
Рассмотрим следующий фрагмент программы, вычисляющей
частное 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
Какое условие является инвариантом цикла?
вопрос
Правильный ответ:
Число
e
является степенью двойки, а также
выполняются равенства
a - q*b == r
и
m == e*b
.
Число
e
является степенью двойки, а также
выполняются равенства
a - q*m == r
и
m == e*b
.
Число
e
является степенью двойки, а также
выполняются равенства
a + q*b == r
и
m == e*b
.
Число
e
является степенью двойки, а также
выполняются равенства
a - q*m == r
и
m == e+b
.
Сложность вопроса
95
Сложность курса: Программирование
84
Оценить вопрос
Комментарии:
Аноним
Зачёт всё. Иду в клуб отмечать 4 за тест интуит
03 май 2019
Другие ответы на вопросы из темы программирование интуит.
- # Постановка задачи: в файле записана последовательность чисел неизвестной длины (возможно пустая). Между числами стоит разделитель - пробел. Требуется за один просмотр файла и без запомнинания последовательности чисел в массиве определить требуюмую характеристику последовательности. Программа должна содержать функцию, которая получает в качестве параметра имя файла и возвращает требуемое значение в файл (output.txt). Функция main открывает необходимые файлы, проверяет успешность открытия, обращается к функции для вычисления результата и выводит результат в соответствующий файл. Задание: найти среднее квадратичное отклонение от среднего арифметического в последовательности.
- # Постановка задачи: в файле записана последовательность чисел неизвестной длины (возможно пустая). Между числами стоит разделитель - пробел. Требуется за один просмотр файла и без запомнинания последовательности чисел в массиве определить требуюмую характеристику последовательности. Программа должна содержать функцию, которая получает в качестве параметра имя файла и возвращает требуемое значение в файл (output.txt). Функция main открывает необходимые файлы, проверяет успешность открытия, обращается к функции для вычисления результата и выводит результат в соответствующий файл. Задание: найти сумму четных эдементов во всех возрастающих участках последовательности целых чисел.
- # Каков диапазон целочисленного типа signed char?
- # Последовательность вещественных чисел w содержит коэффициенты многочлена по возрастанию степеней. Функция F(w) равна значению второй производной многочлена в фиксированной точке t=2. Среди указанных ниже функций отметьте те, которые являются индуктивным расширением функции F.
- # Рассмотрим следующую функцию, аргументами которой являются два целых неотрицательных числа: int f(int m, int n) { // дано: m >= 0 и n >= 0 int a = m; int b = n; int c = 1; while (a != 0 && b != 0) { if (a%2 == 0 && b%2 == 0) { // a и b четные a /= 2; b /= 2; c *= 2; } else if (a%2 == 0) { // a четное, b нечетное a /= 2; } else if (b%2 == 0) { // a нечетное, b четное b /= 2; } else { // a и b нечетные if (a > b) { a -= b; } else { b -= a; } } } // end while return c*(a + b); } Какое условие является инвариантом цикла? (Через НОД и НОК обозначены наибольший общий делитель и наименьшее общее кратное.)