На обработку поступает натуральное число, не превышающее $10^9$. Нужно написать программу, которая выводит на экран минимальную чётную цифру числа. Если в числе нет чётных цифр, требуется вывести на…
- 1
При вводе 231 начальное значение minDigit равно последней цифре числа: 1. Затем программа рассматривает цифры 1, 3 и 2. Только цифра 2 является чётной, поэтому minDigit становится равным 2.$$231 \to 1,\ 3,\ 2$$
- 2
После завершения цикла значение minDigit равно 2, поэтому программа выводит число 2.$$2$$
Ещё 4 шага — в полном решении
Текстовый файл состоит не более чем из 1 200 000 символов $A$, $B$, $C$ и $D$. Определите максимальное количество идущих подряд символов, среди которых нет символов $A$ и $D$, стоящих рядом. Для…
- 1
Последовательно просматриваем все символы файла, запоминая предыдущий символ.
- 2
Если текущий и предыдущий символы образуют пару $AD$ или $DA$, участок допустимых символов заканчивается перед текущим символом. Текущая длина устанавливается равной 1.
Ещё 2 шага — в полном решении
На обработку поступает натуральное число, не превышающее $10^9$. Нужно написать программу, которая выводит на экран максимальную чётную цифру этого числа. Если в числе нет чётных цифр, требуется…
- 1
При вводе числа 243 сначала выполняется присваивание maxDigit = 243 % 10, поэтому maxDigit получает значение 3.
- 2
Затем программа рассматривает цифры 3, 4 и 2. Для цифры 4 условие digit > maxDigit выполняется, но из-за ошибки присваивается digit = maxDigit. Значение maxDigit не изменяется и остаётся равным 3.
Ещё 4 шага — в полном решении
На обработку поступает последовательность из четырёх неотрицательных целых чисел (некоторые числа могут быть одинаковыми). Нужно написать программу, которая выводит на экран количество нечётных…
- 1
В последовательности 20 33 40 55 нечётными являются числа 33 и 55. Поэтому переменная count получает значение 2.
- 2
Из-за строки `sum = x` значение переменной sum каждый раз заменяется очередным нечётным числом. После обработки всей последовательности в ней остаётся 55.
Ещё 4 шага — в полном решении
Текстовый файл состоит не более чем из 1 200 000 символов $A$, $B$, $C$ и $D$. Определите максимальное количество идущих подряд символов, среди которых нет символов $B$ и $D$, стоящих рядом. Для…
- 1
Нужно найти самый длинный непрерывный фрагмент, в котором нигде не встречается соседняя пара $BD$ или $DB$.
- 2
Файл просматривают однократно. Для каждой пары соседних символов проверяют, являются ли они $B$ и $D$ в любом порядке. Если да, текущая длина фрагмента сбрасывается до 1; иначе она увеличивается на 1.$$p_i=B\land p_{i+1}=D\quad\text{или}\quad p_i=D\land p_{i+1}=B$$
Ещё 1 шаг — в полном решении
Текстовый файл состоит из символов, обозначающих прописные буквы латинского алфавита. Определите максимальное количество идущих подряд символов, среди которых никакие две буквы из набора букв $A$…
- 1
Обозначим множество запрещённых для соседства букв: $S = \{A, B, C\}$. Нарушение возникает только тогда, когда и текущий, и предыдущий символы принадлежат $S$.$$s_{i-1} \in S \land s_i \in S$$
- 2
Выполняем однократный просмотр файла. Если найдено нарушение, длина текущего фрагмента становится равной 1. В противном случае она увеличивается на 1. Одновременно сохраняем наибольшее значение.
Ещё 1 шаг — в полном решении
Задание выполняется с использованием прилагаемых к заданию файлов. Текстовый файл состоит не более чем из 1 200 000 символов P, Q, R и S. Определите максимальное количество идущих подряд символов…
- 1
Последовательность допустима, пока в ней не встречается пара соседних символов $P$. Поэтому строку достаточно просмотреть один раз.
- 2
При обнаружении соседних символов $P$ текущая длина последовательности сбрасывается. В остальных случаях она увеличивается на единицу; после каждого шага сохраняется наибольшее значение.
Ещё 1 шаг — в полном решении
Текстовый файл состоит из символов $T$, $U$, $V$, $W$, $X$, $Y$ и $Z$. Определите в прилагаемом файле максимальное количество идущих подряд символов (длину непрерывной подпоследовательности), среди…
- 1
Считываем содержимое файла и рассматриваем его как строку. Будем хранить левую границу текущего фрагмента, число символов $T$ в нём и максимальную найденную длину.
- 2
Двигаем правую границу по строке. Если очередной символ равен $T$, увеличиваем счётчик. Если количество символов $T$ стало больше 100, сдвигаем левую границу вправо, уменьшая счётчик при удалении символа $T$.
Ещё 1 шаг — в полном решении
Задание выполняется с использованием прилагаемого файла. Текстовый файл состоит из цифр 0, 6, 7, 8, 9 и знаков арифметических операций «−» и «*» (вычитание и умножение). Определите максимальное…
- 1
Разбираем файл на непрерывные фрагменты, состоящие из цифр 0, 6, 7, 8, 9 и знаков «−», «*».
- 2
Для каждого фрагмента проверяем структуру арифметического выражения: оно начинается и заканчивается числом, знаки операций не стоят рядом, а числа не содержат ведущих нулей; отдельное число 0 записывается только как «0».
Ещё 1 шаг — в полном решении
Текстовый файл состоит не более чем из 1 200 000 символов K, L, M и N. Определите максимальное количество идущих подряд символов, среди которых нет символов K и M, стоящих рядом. Для выполнения…
- 1
Последовательно просматриваем символы файла, храня предыдущий символ и длину текущей последовательности.
- 2
Если текущий и предыдущий символы образуют пару KM или MK, текущую длину устанавливаем равной 1; иначе увеличиваем её на 1.
Ещё 2 шага — в полном решении
Задание выполняется с использованием прилагаемых к заданию файлов. Текстовый файл состоит не более чем из 1 200 000 символов $A$, $B$, $C$ и $D$. Определите максимальное количество идущих подряд…
- 1
Условие нарушается только в том случае, если рядом стоят символы $A$ и $B$ в любом порядке: $AB$ или $BA$.
- 2
Просматриваем файл слева направо. Для каждого символа сравниваем его с предыдущим. Если образовалась запрещённая пара, текущую длину последовательности начинаем заново.
Ещё 2 шага — в полном решении
Текстовый файл состоит из символов, обозначающих прописные буквы латинского алфавита. Определите максимальное количество идущих подряд символов, в которых никакие две буквы из набора букв $N$, $O$ и…
- 1
Последовательно просматриваем символы файла, поддерживая длину текущего фрагмента, в котором не встречается запрещённая соседняя пара.
- 2
Если текущий и предыдущий символы одновременно принадлежат множеству $\{N, O, P\}$, текущий фрагмент заканчивается. Счётчик сбрасывается до $1$ для текущего символа.
Ещё 2 шага — в полном решении
Задание выполняется с использованием прилагаемых файлов. Текстовый файл состоит из символов A, C, D, F и U. Определите максимальное количество идущих подряд пар символов вида «согласная + гласная» в…
- 1
В заданном наборе символов A и U являются гласными, а C, D и F — согласными.
- 2
Файл просматривается слева направо. Для каждой пары соседних символов проверяется, имеет ли она вид «согласная + гласная». При выполнении условия длина текущей серии увеличивается, иначе серия начинается заново.
Ещё 1 шаг — в полном решении
На обработку поступает натуральное число, не превышающее $10^9$. Нужно написать программу, которая выводит на экран максимальную цифру числа, меньшую 5. Если в числе нет цифр, меньших 5, требуется…
- 1
При вводе числа 137 первоначально выполняется присваивание maxDigit = 137 % 10, поэтому maxDigit получает значение 7.
- 2
Затем программа последовательно рассматривает цифры 7, 3 и 1. Цифры 3 и 1 меньше 5, но ни одна из них не больше уже записанного значения maxDigit = 7. Поэтому значение maxDigit не изменяется.
Ещё 3 шага — в полном решении
Текстовый файл состоит из символов $T$, $U$, $V$, $W$, $X$, $Y$ и $Z$. Определите в прилагаемом файле максимальное количество идущих подряд символов (длину непрерывной подпоследовательности), среди…
- 1
Задачу решаем одним проходом по строке с помощью двух границ окна. При добавлении очередного символа увеличиваем счётчик символов $W$, если добавлен именно $W$.$$count_W \mathrel{+}= (s[r] = W)$$
- 2
Если в текущем окне оказалось более 130 символов $W$, сдвигаем левую границу вправо, уменьшая счётчик при удалении символа $W$.$$count_W > 130 \Rightarrow l \mathrel{+}= 1$$
Ещё 2 шага — в полном решении
Текстовый файл состоит из заглавных букв латинского алфавита $A$, $B$, $C$, $D$, $E$ и $F$. Определите максимальное количество идущих подряд символов в файле, среди которых пара символов $CD$ (в…
- 1
Просматриваем строку слева направо, поддерживая текущий фрагмент с помощью левой и правой границ.
- 2
При добавлении символа $D$ проверяем, является ли предыдущий символ $C$. Если да, число вхождений пары $CD$ увеличивается на единицу.$$count \mathrel{+}= 1$$
Ещё 2 шага — в полном решении
На обработку поступает натуральное число, не превышающее $10^9$. Нужно написать программу, которая выводит на экран минимальную цифру числа, делящуюся на 3. Если в числе нет цифр, делящихся на 3, на…
- 1
Разложим число 143 на цифры. Сначала обрабатывается цифра 3. Она делится на 3, и выполняется условие digit < minDigit, так как 3 < 9.$$digit = 3,\quad minDigit = 9$$
- 2
Вместо изменения минимальной найденной цифры программа изменяет саму переменную digit: выполняется строка digit = minDigit. Поэтому minDigit остаётся равной 9.$$digit = 9,\quad minDigit = 9$$
Ещё 3 шага — в полном решении
Текстовый файл состоит из десятичных цифр и заглавных букв латинского алфавита. Определите в прилагаемом файле последовательность из максимального количества идущих подряд символов, среди которых…
- 1
Файл просматривают последовательно. Каждая буква N может быть началом искомой последовательности, поэтому для неё начинают новый фрагмент.
- 2
Фрагмент продолжают вправо, пока не встретится другая буква N либо число цифр не превысит 55. При этом подсчитывают все символы фрагмента и количество цифр в нём.$$d = 55$$
Ещё 2 шага — в полном решении
На обработку поступает последовательность из четырёх неотрицательных целых чисел (некоторые числа могут быть одинаковыми). Нужно написать программу, которая выводит на экран количество чётных чисел…
- 1
Для последовательности 2, 15, 44, 15 чётными являются числа 2 и 44, поэтому count после обработки всех чисел равен 2.
- 2
Переменная maximum изначально равна 1000. Ни одно введённое число не превосходит 1000, поэтому условие x > maximum ни разу не выполняется. В результате программа выводит количество чётных чисел и исходное значение maximum.$$2\n1000$$
Ещё 4 шага — в полном решении
Текстовый файл состоит из символов $A$, $B$, $C$, $D$ и $U$. Определите максимальное количество идущих подряд пар символов вида «согласная + гласная» в прилагаемом файле. Для выполнения этого…
- 1
В файле считаем символы $B$, $C$ и $D$ согласными, а символы $A$ и $U$ — гласными.
- 2
Последовательно просматриваем файл слева направо и проверяем каждую пару соседних символов на соответствие шаблону «согласная + гласная».
Ещё 2 шага — в полном решении