Запишите число, которое будет напечатано в результате выполнения следующей программы. Для удобства программа представлена на пяти языках программирования.
- 1
Изначально $s = 0$, $n = 86$. Условие цикла $s < 71$ выполняется.
- 2
На каждой итерации значение $s$ увеличивается на 10. Чтобы получить значение не меньше 71, цикл выполнится 8 раз: $s = 8 \cdot 10 = 80$.
Ещё 2 қадам — толық шешімде
На вход алгоритма подаётся натуральное число $N$. Алгоритм строит по нему новое число $R$ следующим образом. Строится троичная запись числа $N$. Если число $N$ делится на $3$, к этой записи…
- 1
Перебираем натуральные значения $N$ по возрастанию и для каждого выполняем описанный алгоритм.
- 2
Для первого значения, при котором полученное число $R$ достигает требуемого порога, результат алгоритма не меньше $86$.$$R \geq 86$$
Ещё 1 қадам — толық шешімде
По каналу связи передаётся последовательность целых неотрицательных чисел — показания прибора, полученные с интервалом в 1 мин в течение $T$ мин. Прибор измеряет количество атмосферных осадков…
- 1
Пусть элементы последовательности имеют индексы от $0$ до $N-1$. Для элемента $a_i$ допустимы элементы $a_j$, для которых $i-j \geq K$, то есть $j \leq i-K$.$$i-j \geq K$$
- 2
При последовательном просмотре элементов поддерживаем максимум среди уже доступных элементов. Перед обработкой $a_i$ добавляем в этот максимум элемент $a_{i-K}$.$$m_i = \max(m_{i-1}, a_{i-K})$$
Ещё 2 қадам — толық шешімде
Напишите программу, которая перебирает целые числа, большие 2018974447, в порядке возрастания и ищет среди них числа, представленные в виде произведения ровно двух простых множителей, не обязательно…
- 1
Сформируем простые числа, в десятичной записи которых последовательность 43 встречается ровно один раз.
- 2
Для каждой пары таких простых чисел вычислим произведение и оставим произведения, превышающие 2018974447.$$n=p\cdot q>2018974447$$
Ещё 1 қадам — толық шешімде
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать натуральные значения от 1 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит…
- 1
Для поиска минимума достаточно просмотреть все элементы массива и рассматривать только те, которые делятся на 3 без остатка.$$a[i] \bmod 3 = 0$$
- 2
Переменную `j` можно изначально установить равной 10001 — числу, большему любого возможного элемента массива. При нахождении подходящего элемента меньшего значения обновляем минимум.$$j = \min\{a[i] \mid a[i] \bmod 3 = 0\}$$
Ещё 3 қадам — толық шешімде
Напишите программу, которая перебирает целые числа, бо́льшие 500 000, в порядке возрастания и ищет среди них такие, у которых есть натуральный делитель, оканчивающийся на цифру 9 и не равный ни…
- 1
Перебираем числа, начиная с 500001, и для каждого проверяем делители от 2 до квадратного корня из числа. Подходящими считаем делители, меньшие самого числа, не равные 9 и оканчивающиеся цифрой 9.
- 2
Первое найденное число — 500004: оно делится на 19, а 19 — минимальный подходящий делитель.
Ещё 1 қадам — толық шешімде
На вход алгоритма подаётся натуральное число $N$. Алгоритм строит по нему новое число $R$ следующим образом. Сначала записывается двоичная запись числа $N$. Если сумма цифр в этой записи чётная…
- 1
Последовательно проверим натуральные числа, начиная с $N=1$. Для каждого числа применяем правило преобразования.
- 2
Для первых значений получаются результаты: $R(1)=3$, $R(2)=4$, $R(3)=4$, $R(4)=13$, $R(5)=8$, $R(6)=8$, $R(7)=15$.
Ещё 3 қадам — толық шешімде
Запишите число, которое будет напечатано в результате выполнения следующей программы.
- 1
На каждой итерации значение $s$ уменьшается на 15. Определим количество итераций до первого неположительного значения.$$301 - 15k \leq 0$$
- 2
Минимальное целое $k$, удовлетворяющее неравенству, равно 21: после 20 итераций $s = 1$, после 21-й итерации $s = -14$.
Ещё 1 қадам — толық шешімде
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: символ «?» означает ровно одну произвольную цифру; символ «*» означает любую последовательность…
- 1
Маска без цифр вместо «*» задаёт семизначные числа вида $12ab156$. Проверка всех значений $a$ и $b$ даёт одно подходящее число.$$12206156 = 317 \cdot 3868$$
- 2
Если вместо «*» поставить одну цифру $c$, получаются восьмизначные числа вида $12ab1c56$. Перебор цифр $a$, $b$ и $c$ с проверкой делимости даёт три числа.$$12511356 = 317 \cdot 39468$$
Ещё 1 қадам — толық шешімде
Опишите на русском языке или одном из языков программирования алгоритм подсчёта суммы произведений последовательных пар элементов в целочисленном массиве из 30 элементов. Нужно сосчитать сумму…
- 1
Обозначим элементы массива индексами от 0 до 29 и введём переменную S для накопления суммы.$$S = 0$$
- 2
Перебираем первый индекс каждой пары: 0, 2, 4, ..., 28. Второй индекс пары равен $i+1$.$$i = 0, 2, 4, \ldots, 28$$
Ещё 2 қадам — толық шешімде
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: символ «?» означает ровно одну произвольную цифру; символ «*» означает любую последовательность…
- 1
Числа, кратные 1927 и не превышающие $10^8$, имеют вид $1927k$, где $1 \leq k \leq 51892$.$$k \leq \left\lfloor \dfrac{10^8}{1927} \right\rfloor = 51892$$
- 2
Для каждого значения $k$ вычисляется число $N=1927k$. Затем проверяется, что запись числа соответствует маске 1?3*4?9.
Ещё 1 қадам — толық шешімде
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: символ «?» означает ровно одну произвольную цифру; символ «*» означает любую последовательность…
- 1
Так как число не превышает $10^8$, после префикса 1234 и суффикса 54 может находиться не более двух цифр.
- 2
При пустой последовательности получается число $123454$, которое не делится на 21.
Ещё 3 қадам — толық шешімде
Запишите число, которое будет напечатано в результате выполнения следующей программы. Программа представлена на пяти языках программирования: Бейсик, Python, алгоритмическом языке, Паскале и Си. Во…
- 1
При каждом проходе цикла значение $s$ заменяется результатом целочисленного деления на 2.$$80 \to 40 \to 20 \to 10 \to 5 \to 2 \to 1 \to 0$$
- 2
До получения нулевого значения цикл выполняется 7 раз.
Ещё 1 қадам — толық шешімде
Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от −10 000 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования…
- 1
Создаём переменную-накопитель суммы и инициализируем её нулём.
- 2
Последовательно просматриваем все 20 элементов массива.
Ещё 2 қадам — толық шешімде
В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 10. Значения элементов равны 2, 5, 4, 7, 8, 10, 1, 0, 3, 9, 6 соответственно. Определите значение переменной $c$…
- 1
Изначально $A[0]=2$ и $c=0$. При $i=1$: $A[1]=5>2$, поэтому $c=1$, а $A[0]$ становится равным 5.$$A[0]=5,\quad c=1$$
- 2
При $i=2$: $A[2]=4\not>5$, значение $c$ не изменяется.
Ещё 3 қадам — толық шешімде
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать натуральные значения от 1 до 10000 включительно. Опишите на одном из языков программирования алгоритм, который находит…
- 1
Поскольку гарантируется наличие хотя бы одного элемента, оканчивающегося на 0, можно начать поиск минимума со значения $10000$.$$k = 10000$$
- 2
В первом проходе проверяем последнюю цифру каждого элемента. Если элемент оканчивается на 0 и меньше текущего минимума, сохраняем его в переменной $k$.$$a[i] \bmod 10 = 0 \land a[i] < k$$
Ещё 3 қадам — толық шешімде
Программа задаёт значения $s = 355$ и $n = 0$. Пока $s > 0$, она уменьшает $s$ на $20$ и увеличивает $n$ на $2$. Определите число, которое будет напечатано.
- 1
После $k$ итераций значение переменной $s$ равно:$$s = 355 - 20k$$
- 2
Цикл продолжается, пока $s > 0$. После 17 итераций $s = 15$, поэтому нужна ещё одна итерация. Всего цикл выполнится 18 раз.$$355 - 20 \cdot 17 = 15 > 0,\quad 355 - 20 \cdot 18 = -5 \leq 0$$
Ещё 1 қадам — толық шешімде
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать натуральные значения от 1 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит…
- 1
Сначала перебираем все элементы массива и накапливаем сумму тех, которые больше 150 и имеют чётное значение.$$S = \sum_{i=0}^{29} a_i \text{ при } a_i > 150 \text{ и } a_i \bmod 2 = 0$$
- 2
Вторым проходом снова проверяем это условие и заменяем каждый подходящий элемент найденной суммой.$$a_i := S$$
Ещё 2 қадам — толық шешімде
На вход алгоритма подаётся натуральное число $N$. Алгоритм строит по нему новое число $R$. Сначала строится двоичная запись числа $N$. Если сумма цифр в двоичной записи чётная, справа дописывается…
- 1
Проверяем значения $N$ по возрастанию, пока результат не станет больше 40.
- 2
Для $N=15$: $15_{10}=1111_2$. Сумма цифр равна 4, поэтому справа дописывается 0, а первые два разряда заменяются на 10: $1111_2\rightarrow10110_2=22_{10}$.
Ещё 2 қадам — толық шешімде
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от −10 000 до 10 000 включительно. Гарантируется, что хотя бы один элемент массива делится нацело на 5…
- 1
Для поиска максимума среди элементов, кратных 5, введём переменную j с начальным значением −10001. Это значение меньше любого возможного элемента массива.$$j = -10001$$
- 2
Просматриваем все элементы массива. Если элемент делится на 5 и превосходит текущий максимум, обновляем значение j.$$a[i] \% 5 = 0 \land a[i] > j \Rightarrow j = a[i]$$
Ещё 2 қадам — толық шешімде