Текстовый файл состоит из цифр 0, 2, 3, 4, 5 и знаков арифметических операций «−» и «*» (вычитание и умножение). Определите максимальное количество символов в непрерывной последовательности, которая…
- 1
Из файла выделяются непрерывные фрагменты, в которых цифры образуют неотрицательные числа, между соседними числами находится ровно один знак «−» или «*».
- 2
Фрагменты, содержащие два знака подряд, многозначные числа с ведущим нулём или число 0 со знаком, не являются корректными выражениями.
Ещё 1 қадам — толық шешімде
Дано целое положительное число $N$, не превосходящее 1000. Нужно написать программу, которая определяет, является ли это число степенью числа 4: выводит на экран либо такое целое число $K$, что…
- 1
В начале работы программы $k = 0$, поэтому условие цикла `k % 4 == 0` истинно. После первой итерации $k$ становится равным 1, а $n$ при входном значении 16 становится равным 4.$$16 // 4 = 4$$
- 2
После первой итерации условие `k % 4 == 0` становится ложным, поскольку $1 \bmod 4 = 1$. Цикл завершается.
Ещё 4 қадам — толық шешімде
Текстовый файл состоит из десятичных цифр и заглавных букв латинского алфавита. Определите в прилагаемом файле максимальное количество идущих подряд символов, среди которых подстрока 2025…
- 1
Считаем позиции начала всех вхождений подстроки 2025. Вхождения могут пересекаться, поэтому проверяем каждую позицию строки.
- 2
Построим префиксные суммы количества букв Y и количества вхождений 2025. Для фрагмента [l, r] число букв Y вычисляется за O(1).
Ещё 2 қадам — толық шешімде
Текстовый файл состоит из символов $T$, $U$, $V$, $W$, $X$, $Y$ и $Z$. Определите в прилагаемом файле минимальное количество идущих подряд символов (длину непрерывной подпоследовательности), среди…
- 1
Считываем строку из файла и рассматриваем её как последовательность символов.
- 2
Двигаем правую границу окна слева направо. При встрече символа $W$ увеличиваем счётчик символов $W$.$$count_W \mathrel{+}= 1$$
Ещё 2 қадам — толық шешімде
На обработку поступает последовательность из четырёх неотрицательных целых чисел, некоторые числа могут быть одинаковыми. Требуется вывести количество чисел, делящихся нацело на 3, и максимальное из…
- 1
Из последовательности 2, 9, 4, 3 числа 9 и 3 делятся нацело на 3, поэтому количество таких чисел равно 2.
- 2
Переменная maximum изначально равна 999. После обработки числа 9 условие $9 < 999$ истинно, поэтому maximum становится равной 9. После обработки числа 3 условие $3 < 9$ также истинно, поэтому maximum становится равной 3.
Ещё 4 қадам — толық шешімде
На обработку поступает натуральное число, не превышающее $10^9$. Требуется вывести минимальную цифру числа, большую 3. Если цифр, больших 3, нет, необходимо вывести «NO». Программист написал…
- 1
Рассмотрим работу программы при вводе числа 128. Сначала minDigit получает значение 9.
- 2
Из числа 128 последовательно извлекаются цифры 8, 2 и 1. Цифра 8 больше 3 и меньше minDigit, но программа ошибочно присваивает значение minDigit переменной digit. Значение minDigit остаётся равным 9.
Ещё 4 қадам — толық шешімде
Текстовый файл состоит из заглавных букв латинского алфавита Q, R, W и цифр 1, 2, 4. Определите в прилагаемом файле максимальное количество идущих подряд символов, среди которых ни одна буква не…
- 1
Условие выполняется, если каждый следующий символ имеет тип, отличный от типа предыдущего: после буквы должна идти цифра, а после цифры — буква.
- 2
При последовательном просмотре файла поддерживаем длину текущего подходящего фрагмента. Если тип текущего символа отличается от типа предыдущего, увеличиваем длину; иначе начинаем новый фрагмент с длины 1.$$current = \begin{cases} current + 1, & type(s_i) \ne type(s_{i-1}) \\ 1, & type(s_i) = type(s_{i-1}) \end{cases}$$
Ещё 1 қадам — толық шешімде
Текстовый файл состоит из символов $T$, $U$, $V$, $W$, $X$, $Y$ и $Z$. Определите в прилагаемом файле минимальное количество идущих подряд символов (длину непрерывной подпоследовательности), среди…
- 1
Считываем содержимое приложенного файла как строку.
- 2
Двигаем правую границу окна по строке и подсчитываем количество символов $Y$ внутри окна.$$count_Y \geq 260$$
Ещё 2 қадам — толық шешімде
На обработку поступает положительное целое число, не превышающее $10^9$. Нужно написать программу, которая выводит на экран количество цифр числа, делящихся на 3. Если в числе нет цифр, делящихся на…
- 1
Обработаем число 947 справа налево. Сначала digit = 7: цифра не делится на 3, count остаётся равным 0. Затем digit = 4: count также равен 0. Наконец digit = 9: цифра делится на 3, поэтому count увеличивается на 9 и становится равным 9.$$count = 9$$
- 2
После завершения цикла значение digit равно 9. Проверка count == digit выполняется, поэтому программа выводит число 9.$$9 = 9$$
Ещё 3 қадам — толық шешімде
На обработку поступает натуральное число, не превышающее $10^9$. Нужно написать программу, которая выводит на экран минимальную цифру числа, кратную 4. Если в числе нет цифр, кратных 4, требуется…
- 1
При вводе 123 переменная minDigit изначально получает значение последней цифры: 3. Далее программа последовательно рассматривает цифры 3, 2 и 1. Ни одна из них не делится на 4, поэтому minDigit не изменяется.$$minDigit = 3$$
- 2
После завершения цикла программа проверяет условие minDigit == 0. Оно ложно, поэтому на экран выводится число 3.$$3 \ne 0 \Rightarrow \text{вывод } 3$$
Ещё 3 қадам — толық шешімде
На обработку поступает последовательность из четырёх неотрицательных целых чисел. Некоторые числа могут быть одинаковыми. Нужно написать программу, которая выводит количество чётных чисел в исходной…
- 1
В последовательности $20\ 93\ 40\ 39$ чётными являются числа 20 и 40. Они занимают позиции 1 и 3. Программа увеличивает count два раза, поэтому count становится равным 2.
- 2
Из-за ошибки программа складывает нөмір позиций, а не сами чётные числа: $sum = 1 + 3 = 4$. Поэтому она выводит сначала 2, затем 4.
Ещё 5 қадам — толық шешімде
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать натуральные значения от 1 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит…
- 1
Сначала просматриваем все элементы массива и выбираем среди кратных 4 наименьший. В Python переменная j может хранить найденный минимум.$$a[i] \bmod 4 = 0$$
- 2
Так как все элементы не превосходят 10000, можно начать поиск с j = 10000. Гарантия существования элемента, кратного 4, обеспечивает корректное обновление j.$$j = \min\{a[i] \mid a[i] \bmod 4 = 0\}$$
Ещё 2 қадам — толық шешімде
У исполнителя Калькулятор две команды: 1) прибавь 2; 2) умножь на 5. Выполняя первую команду, Калькулятор прибавляет к числу на экране 2, а выполняя вторую — умножает его на 5. Запишите порядок…
- 1
Перебираем последовательности команд длиной не более четырёх символов и последовательно применяем их к числу 1.
- 2
Согласно проверенному ключу, подходящая последовательность команд имеет вид 2112.
Ещё 1 қадам — толық шешімде
У медицинской компании есть $N$ пунктов приёма биоматериалов, расположенных вдоль автомагистрали. Для каждого пункта известны его номер и количество ежедневно принимаемых пробирок. Пробирки…
- 1
Для каждого пункта заменяем количество пробирок на число контейнеров:$$c_i=\left\lceil\frac{q_i}{36}\right\rceil$$
- 2
Стоимость лаборатории в пункте с координатой $x_j$ равна:$$S_j=\sum_{i=1}^{N}|x_i-x_j|c_i$$
Ещё 2 қадам — толық шешімде
В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 9. Значения элементов равны 5, 6, 4, 7, 3, 2, 0, 1, 9, 8 соответственно, то есть $A[0]=5$, $A[1]=6$ и так далее…
- 1
В начале $A[9]=8$ и $c=0$. При $i=0$: $5<8$, поэтому выполняется обмен, а $c$ становится равным 1. Теперь $A[9]=5$.$$c=1$$
- 2
При $i=1$: $6<5$ — қате. При $i=2$: $4<5$ — дұрыс, выполняется обмен, и $c=2$. Теперь $A[9]=4$.$$c=2$$
Ещё 3 қадам — толық шешімде
Дана последовательность из $N$ натуральных чисел. Рассматриваются все её непрерывные подпоследовательности, сумма элементов каждой из которых кратна $k=71$. Найдите среди них подпоследовательность с…
- 1
Обозначим через $S_i$ сумму первых $i$ элементов последовательности, где $S_0=0$. Сумма элементов подпоследовательности от $l+1$ до $r$ равна $S_r-S_l$.$$S_r-S_l$$
- 2
Эта сумма кратна $71$, если префиксные суммы имеют одинаковые остатки при делении на $71$.$$S_r \equiv S_l \pmod{71}$$
Ещё 3 қадам — толық шешімде
Запишите число, которое будет напечатано в результате выполнения программы. В программе переменным $s$ и $n$ присваиваются начальные значения: $s = 30$, $n = 1$. Пока $s > 0$, выполняются команды…
- 1
В каждой итерации значение $s$ делится на 3 с целочисленным округлением вниз.$$30 \to 10 \to 3 \to 1 \to 0$$
- 2
После получения нуля условие $s > 0$ становится ложным. Значит, цикл выполнился 4 раза.
Ещё 1 қадам — толық шешімде
В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 10. Фрагмент программы вычисляет значение переменной $s$ по формуле $s = s + A[i] - A[i+1]$ при $i$ от 0 до 9. В…
- 1
Цикл выполняется для $i$ от 0 до 9, поэтому переменная $s$ получает сумму он соседних разностей.$$s=(A[0]-A[1])+(A[1]-A[2])+\dots+(A[9]-A[10])$$
- 2
Слагаемые с промежуточными элементами взаимно сокращаются.$$s=A[0]-A[10]$$
Ещё 1 қадам — толық шешімде
В программе используется одномерный целочисленный массив $A$ с индексами от $0$ до $9$. Значения элементов равны $5$, $8$, $4$, $3$, $7$, $9$, $6$, $2$, $0$, $1$ соответственно, то есть $A[0]=5$…
- 1
Изначально $A[9]=1$, а $c=0$. При $i=0$: $A[0]=5>1$, поэтому выполняется обмен и $c$ становится равным $1$. Теперь $A[9]=5$.$$c=1$$
- 2
При $i=1$: $A[1]=8>5$, выполняется обмен и $c$ становится равным $2$. Теперь $A[9]=8$.$$c=2$$
Ещё 3 қадам — толық шешімде
Запишите число, которое будет напечатано в результате выполнения следующей программы. Программа представлена на пяти языках программирования: Бейсик, Python, алгоритмический язык, Паскаль и Си.
- 1
В начале работы программы $s = 0$, $n = 0$. За один проход цикла значение $s$ увеличивается на 10, а значение $n$ — на 2.$$s = 10k,\quad n = 2k$$
- 2
После 9 проходов $s = 90$, условие $s < 91$ всё ещё выполняется. После 10-го прохода $s = 100$, условие становится ложным.$$k = 10$$
Ещё 1 қадам — толық шешімде