Текстовый файл состоит из заглавных букв латинского алфавита $A$, $B$, $C$, $D$, $E$ и $F$. Определите в прилагаемом файле максимальное количество идущих подряд символов, среди которых пара символов…
- 1
Считаем количество вхождений подстроки $BC$ в каждом рассматриваемом непрерывном фрагменте файла. Вхождения могут начинаться на соседних позициях, поэтому проверяем каждую пару соседних символов.$$s[i] = B \text{ и } s[i+1] = C$$
- 2
Для каждой левой границы фрагмента постепенно сдвигаем правую границу вправо, поддерживая число найденных пар $BC$. Если число стало равно 190, обновляем максимальную длину.
Ещё 1 қадам — толық шешімде
Текстовый файл состоит не более чем из 1 200 000 символов $X$, $Y$ и $Z$. Определите максимальное количество идущих подряд символов, среди которых нет подстроки $XZZY$. Для выполнения этого задания…
- 1
Считываем всю строку из файла и ищем все вхождения подстроки $XZZY$. Удобно использовать метод поиска подстроки или алгоритм КМП.
- 2
Для каждой найденной позиции начала запрещённой подстроки вычисляем длину участка от конца предыдущей запрещённой подстроки до её начала.
Ещё 2 қадам — толық шешімде
На обработку поступает натуральное число, не превышающее $10^9$. Нужно написать программу, которая выводит на экран максимальную цифру числа, кратную 5. Если в числе нет цифр, кратных 5, требуется…
- 1
При вводе числа 132 программа сначала выполняет присваивание maxDigit = N % 10, поэтому maxDigit получает значение 2.
- 2
Затем программа последовательно рассматривает цифры 2, 3 и 1. Ни одна из них не делится на 5, поэтому значение maxDigit не изменяется.
Ещё 6 қадам — толық шешімде
Задание выполняется с использованием прилагаемых файлов. Текстовый файл состоит из символов A, C, D, F и O. Определите максимальное количество идущих подряд пар символов вида «гласная + согласная» в…
- 1
Из символов файла гласной является O, а согласными являются A, C, D и F.
- 2
Последовательно проверяем все пары соседних символов. Пара считается подходящей, если её первый символ равен O, а второй принадлежит множеству A, C, D, F.
Ещё 1 қадам — толық шешімде
Требовалось написать программу, которая решает уравнение $ax+b=0$ относительно $x$ для любых действительных чисел $a$ и $b$, введённых с клавиатуры. Программист написал программу неправильно. Во…
- 1
Возьмём $a=0$, $b=0$, например $x=1$. Тогда исходное уравнение имеет вид $0x+0=0$ и верно при любом действительном $x$, то есть имеет бесконечно много решений. Программа же попадает в первую ветвь и сообщает только $x=0$, поэтому решение…
- 2
Переменная $x$ во вводе является лишней: её значение не используется для решения уравнения. Также лишним является отдельное присваивание результата в ветви $b=0$ как особого случая: при $a\ne0$ значение $x=-b/a$ и так равно нулю.
Ещё 2 қадам — толық шешімде
На обработку поступает последовательность из четырёх неотрицательных целых чисел (некоторые числа могут быть одинаковыми). Нужно написать программу, которая выводит на экран количество делящихся…
- 1
Из чисел 20, 93, 40, 39 нацело на 4 делятся 20 и 40. Поэтому count получает значение 2. Однако программа прибавляет к sum порядковые номера этих чисел: 1 и 3.$$sum = 1 + 3 = 4$$
- 2
Так как проверяется условие n > 0, а n равно 4, программа выводит две строки: сначала количество найденных чисел, затем ошибочную сумму.
Ещё 3 қадам — толық шешімде
Текстовый файл состоит из символов $A$, $B$ и $C$. Определите максимальное количество идущих подряд пар символов $CA$ или $CB$ в прилагаемом файле. Искомая подпоследовательность должна состоять…
- 1
Файл последовательно просматривается слева направо. На каждой позиции проверяется пара из двух символов.
- 2
Если пара имеет вид $CA$ или $CB$, она добавляется к текущей цепочке подходящих пар. После этого текущая позиция смещается на два символа.
Ещё 2 қадам — толық шешімде
Текстовый файл состоит из десятичных цифр и заглавных букв латинского алфавита. Определите в этом файле последовательность идущих подряд символов, представляющих собой запись максимального чётного…
- 1
В записи 14-ричного числа допустимы символы 0–9 и A–D. Поэтому файл нужно просмотреть слева направо и выделить максимальные непрерывные фрагменты, состоящие только из этих символов.
- 2
Из выделенных фрагментов оставляем только те, последняя цифра которых чётная: 0, 2, 4, 6, 8, A или C.
Ещё 2 қадам — толық шешімде
На обработку поступает последовательность из четырёх неотрицательных целых чисел (некоторые числа могут быть одинаковыми). Нужно написать программу, которая выводит на экран количество всех чисел…
- 1
Из чисел 20, 25, 40, 45 условию делимости на 10 соответствуют 20 и 40. Поэтому правильные количество и сумма равны 2 и 60.
- 2
В данной программе при обработке числа 20 переменная sum получает значение 20. При обработке числа 40 она получает значение 40 вместо добавления 40 к прежней сумме. Поэтому после цикла count = 2, sum = 40.
Ещё 5 қадам — толық шешімде
На обработку поступает натуральное число, не превышающее $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 қадам — толық шешімде