Запишите число, которое будет напечатано в результате выполнения следующей программы.
- 1
В начале $s = 40$, а на каждой итерации цикла значение $s$ уменьшается на $7$.$$40 \to 33 \to 26 \to 19 \to 12 \to 5 \to -2$$
- 2
Пока $s > 0$, значение $n$ умножается на $2$. Условие цикла выполняется $6$ раз.$$n = 1 \cdot 2^6$$
Ещё 1 шаг — в полном решении
В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 11. Значения элементов равны 20, 19, 17, 41, 23, 12, 24, 16, 4, 13, 6, 15 соответственно, то есть $A[0] = 20$…
- 1
Так как $n = 0$ и значение $n$ не изменяется, на каждом шаге сравниваются $A[i]$ и $A[0]$. При выполнении условия к $s$ прибавляется индекс $i$, после чего элементы $A[i]$ и $A[0]$ меняются местами.$$s := s + i$$
- 2
Последовательно отслеживая изменения массива, получаем срабатывание условия при индексах $i = 0, 1, 2, 5, 8$.
Ещё 1 шаг — в полном решении
Опишите на русском языке или одном из языков программирования алгоритм поиска номера первого из двух последовательных элементов в целочисленном массиве из 30 элементов, сумма которых максимальна…
- 1
Пара последовательных элементов может начинаться с любого номера от 1 до 29.
- 2
Сначала принимаем первой парой элементы с номерами 1 и 2: сохраняем их сумму и номер 1.
Ещё 4 шага — в полном решении
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит…
- 1
Заведём счётчик подходящих элементов и обнулим его.$$j = 0$$
- 2
Первым проходом просмотрим все элементы массива. Элемент учитывается, если он больше 100 и остаток от деления на 4 не равен нулю.$$a[i] > 100 \land a[i] \bmod 4 \ne 0$$
Ещё 2 шага — в полном решении
По каналу связи передаётся последовательность целых чисел — показания прибора. В течение $N$ минут прибор ежеминутно регистрирует значение напряжения в электрической сети и передаёт его на сервер…
- 1
Нумеруем показания от $0$ до $N-1$. Для текущего показания $a_i$ предыдущие выбранные показания должны иметь индексы не больше $i-K$.
- 2
Поддерживаем три величины: максимальное значение одного допустимого показания, максимальную сумму пары, второй элемент которой уже допустим для текущего положения, и максимальную найденную сумму трёх показаний.
Ещё 3 шага — в полном решении
Напишите программу, которая перебирает целые числа, большие 600 000, в порядке возрастания и ищет среди них такие, у которых есть натуральный делитель, оканчивающийся на цифру 9 и не равный ни…
- 1
Перебираем числа, начиная с 600001. Для каждого числа проверяем делители в порядке возрастания и выбираем первый делитель, оканчивающийся цифрой 9, кроме 9 и самого числа.$$n \bmod d = 0,\quad d \bmod 10 = 9,\quad d \ne 9,\quad d \ne n$$
- 2
Для числа 600001 наименьший подходящий делитель равен 19: $600001 = 19 \cdot 31579$.
Ещё 4 шага — в полном решении
На вход алгоритма подаётся натуральное число $N$. Алгоритм строит по нему новое число $R$ следующим образом. Сначала строится двоичная запись числа $N$. Если сумма цифр в двоичной записи чётная, к…
- 1
Проверяем числа по возрастанию. Для $N=21$ двоичная запись имеет нечётное число единиц:$$21_{10}=10101_2$$
- 2
Поэтому справа дописывается $1$, затем первые два разряда заменяются на $11$:$$10101_2\to101011_2\to111011_2=59_{10}$$
Ещё 2 шага — в полном решении
В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 9. Значения элементов равны $3, 1, 7, 6, 5, 4, 8, 2, 9, 0$ соответственно, то есть $A[0]=3$, $A[1]=1$ и т. д…
- 1
Начинаем с массива $[3,1,7,6,5,4,8,2,9,0]$ и $s=0$. При $j=0$ выполняется условие $3>1$, поэтому $s=1$, после обмена массив становится $[1,3,7,6,5,4,8,2,9,0]$.$$s=1$$
- 2
При $j=1$ условие $3>7$ ложно. При $j=2$ выполняется $7>6$: $s=2$, после обмена массив становится $[1,3,6,7,5,4,8,2,9,0]$.$$s=2$$
Ещё 3 шага — в полном решении
На вход программы поступает последовательность из $n$ целых положительных чисел. Рассматриваются все пары элементов последовательности $a_i$ и $a_j$, такие что $i < j$ и $a_i > a_j$. Среди пар…
- 1
Последовательность просматривается слева направо. В момент обработки числа $x = a_j$ в таблице уже находятся только элементы $a_i$ с индексами $i < j$, поэтому порядок элементов пары автоматически соблюдается.$$i < j$$
- 2
Сумма $y + x$ делится на $117$, если остаток числа $y$ равен $(-x) \bmod 117$. Для каждого остатка храним максимальное предыдущее число с таким остатком и само число для вывода.$$(y + x) \bmod 117 = 0$$
Ещё 5 шагов — в полном решении
По каналу связи передаётся последовательность натуральных чисел — показания прибора. В течение $N$ минут ($N$ — натуральное число) прибор ежеминутно регистрирует значение напряжения в электрической…
- 1
Нумеруем показания последовательности начиная с единицы. Для трёх выбранных позиций $i<j<l$ должны выполняться условия $j-i\geq K$ и $l-j\geq K$.
- 2
Для каждой позиции поддерживаем максимальное произведение пары чисел, выбранных среди уже доступных позиций с необходимым расстоянием. При обработке очередного числа учитываем только позиции, отстоящие от него минимум на $K$.
Ещё 2 шага — в полном решении
Запишите число, которое будет напечатано в результате выполнения следующей программы. Для удобства программа представлена на пяти языках программирования.
- 1
В начале $s = 50$, $n = 1$. На каждой итерации $s$ заменяется на результат целочисленного деления на 2, а $n$ умножается на 2.$$s: 50 \to 25 \to 12 \to 6 \to 3 \to 1 \to 0$$
- 2
После шестой итерации значение $s$ становится равным 0, поэтому цикл завершается.$$n = 1 \cdot 2^6 = 64$$
Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от −10 000 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования…
- 1
Используем переменную $k$ как счётчик элементов, которые не делятся на 7, и вначале обнуляем её.$$k = 0$$
- 2
Последовательно просматриваем все элементы массива. Если остаток от деления элемента на 7 не равен нулю, элемент не делится на 7.$$a[i] \bmod 7 \ne 0$$
Ещё 2 шага — в полном решении
В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 9. Значения элементов равны 1, 7, 8, 4, 1, 1, 2, 2, 9, 5 соответственно, то есть $A[0] = 1$, $A[1] = 7$ и т. д…
- 1
Начинаем с массива $(1, 7, 8, 4, 1, 1, 2, 2, 9, 5)$ и $c=0$. При $i=1$ выполняется условие $1<7$, поэтому происходит обмен и $c=1$.
- 2
После обмена при $i=2$ сравниваются $1$ и $8$: условие выполняется, $c=2$. При $i=3$ сравниваются $1$ и $4$: условие также выполняется, $c=3$.
Ещё 3 шага — в полном решении
По каналу связи передаётся последовательность натуральных чисел — показания прибора. В течение $N$ минут прибор ежеминутно регистрирует значение напряжения в электрической сети и передаёт его на…
- 1
Пронумеруем показания от $1$ до $N$. Если выбран элемент на позиции $i$, следующий выбранный элемент может находиться только на позиции не ранее $i+K$.
- 2
Будем поддерживать лучшие произведения для выбора одного, двух и трёх допустимых показаний среди обработанных позиций.
Ещё 3 шага — в полном решении
На вход алгоритма подаётся натуральное число $N$. Алгоритм строит по нему новое число $R$ следующим образом. 1. Строится двоичная запись числа $N$. 2. Далее эта запись обрабатывается по следующему…
- 1
Проверим нечётные значения $N$. Для $N=1$ получаем $1100_2=12_{10}$, для $N=3$ — $11100_2=28_{10}$, для $N=5$ — $110100_2=52_{10}$.$$5_{10}=101_2\rightarrow 110100_2=52_{10}$$
- 2
Для следующего нечётного числа $N=7$ результат равен $111100_2=60_{10}$, что больше 55. При больших нечётных $N$ результат также не может уменьшиться.$$7_{10}=111_2\rightarrow 111100_2=60_{10}>55$$
Ещё 1 шаг — в полном решении
В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 9. Значения элементов равны 20, 19, 17, 41, 15, 12, 24, 16, 4, 13 соответственно, то есть $A[0] = 20$, $A[1] = 19$ и…
- 1
Изначально $A[6] = 24$ и $s = 0$. При $i = 0, 1, 2$ условие выполняется. После обменов значение $A[6]$ последовательно становится равным 20, 19 и 17, а $s = 0 + 1 + 2 = 3$.$$s = 0 + 1 + 2 = 3$$
- 2
При $i = 3$ условие не выполняется, поскольку $A[3] = 41 > 17$. При $i = 4$ и $i = 5$ условие выполняется, поэтому $s = 3 + 4 + 5 = 12$.$$s = 3 + 4 + 5 = 12$$
Ещё 1 шаг — в полном решении
Пусть $R$ — сумма различных натуральных делителей целого числа, не считая единицы и самого числа. Напишите программу, которая перебирает целые числа, большие $500\,000$, в порядке возрастания и ищет…
- 1
Для каждого целого числа $n > 500\,000$ перебираем возможные делители $d$ от 2 до $\sqrt n$.
- 2
Если $d$ делит $n$, добавляем к сумме $R$ делители $d$ и $n/d$. Если $d^2=n$, добавляем только один из них.
Ещё 2 шага — в полном решении
Запишите число, которое будет напечатано в результате выполнения следующей программы. Программа представлена на пяти языках программирования.
- 1
Проследим изменение переменной $s$ после каждого выполнения тела цикла.$$100 \to 33 \to 11 \to 3 \to 1 \to 0$$
- 2
После пяти проходов значение $s$ становится равным нулю, поэтому цикл завершается.$$k = 5$$
Ещё 1 шаг — в полном решении
У исполнителя Калькулятор есть две команды: 1) прибавь 2; 2) умножь на 3. Выполняя первую команду, Калькулятор прибавляет к числу на экране 2, а выполняя вторую — утраивает его. Запишите порядок…
- 1
Применим команды в последовательности 121211.$$0 \xrightarrow{1} 2$$
- 2
После команды 2 число утраивается: $2 \cdot 3 = 6$.$$2 \xrightarrow{2} 6$$
Ещё 2 шага — в полном решении
На вход программы поступает последовательность из $n$ целых положительных чисел. Рассматриваются все пары элементов последовательности $a_i$ и $a_j$, такие что $i < j$ и $a_i > a_j$. Среди пар…
- 1
Читаем последовательность слева направо. В момент обработки числа $x = a_j$ все сохранённые числа являются элементами с индексами меньше $j$, поэтому условие $i < j$ выполняется автоматически.
- 2
Если $r = x \bmod m$, то для делимости суммы на $m$ остаток предыдущего числа должен быть равен $(m-r) \bmod m$.$$a_i \bmod m = (m - (x \bmod m)) \bmod m$$
Ещё 5 шагов — в полном решении