Текстовый файл состоит из символов, обозначающих прописные буквы латинского алфавита. Определите максимальное количество идущих подряд символов, в которых никакие две буквы из набора букв Q, R и S…
- 1
При последовательном просмотре файла проверяем каждую пару соседних символов.
- 2
Если оба символа входят в множество {Q, R, S}, текущая последовательность заканчивается. Для текущего символа начинаем новую последовательность.
Ещё 2 қадам — толық шешімде
На обработку поступает последовательность из четырёх неотрицательных целых чисел (некоторые числа могут быть одинаковыми). Нужно написать программу, которая выводит на экран количество делящихся…
- 1
Из чисел 18, 15, 6 и 10 делятся на 5 числа 15 и 10. Поэтому переменная count получает значение 2.$$count = 2$$
- 2
При обработке числа 15 условие x > minimum выполняется: 15 > 0, поэтому minimum становится равным 15. При обработке числа 10 условие 10 > 15 ложно, поэтому minimum остаётся равным 15.$$minimum = 15$$
Ещё 5 қадам — толық шешімде
Текстовый файл состоит из символов $A$, $B$, $C$, $D$ и $E$. Определите максимальное количество идущих подряд пар символов вида «согласная + гласная» в прилагаемом файле. Для выполнения задания…
- 1
Разобьём символы на две группы: согласные $B$, $C$, $D$ и гласные $A$, $E$.
- 2
Последовательно просматриваем файл. Если два соседних символа образуют пару «согласная + гласная», увеличиваем длину текущей серии и переходим к символу после пары.$$current = current + 1$$
Ещё 2 қадам — толық шешімде
На обработку поступает последовательность из четырёх неотрицательных целых чисел (некоторые числа могут быть одинаковыми). Нужно написать программу, которая выводит на экран количество не делящихся…
- 1
Из последовательности 2 19 24 3 числа 2 и 19 не делятся на 3, поэтому count станет равным 2. Числа 24 и 3 делятся на 3.
- 2
Переменная minimum изначально равна 1. Для числа 2 условие x < minimum ложно, поэтому значение minimum не изменяется. Для числа 19 условие также ложно. Программа выводит количество 2 и значение minimum 1.$$2\newline1$$
Ещё 4 қадам — толық шешімде
Требовалось написать программу, которая получает на вход натуральное число $N$, не превосходящее $10^9$, и выводит число, равное количеству цифр 4 в десятичной записи числа $N$. Программист написал…
- 1
При вводе 241 цифры извлекаются справа налево: 1, 4, 2. При текущем условии программа прибавляет к R все цифры, не равные 4.$$R = 1 + 2 = 3$$
- 2
Следовательно, при вводе числа 241 программа выведет 3.
Ещё 3 қадам — толық шешімде
Дано целое положительное число $N$, не превосходящее 1000. Нужно написать программу, которая определяет, является ли это число степенью числа 7: выводит на экран либо такое целое число $K$, что…
- 1
При вводе $N = 49$ начальные значения: $n = 49$, $k = 0$. Условие цикла истинно, так как $0 \bmod 7 = 0$.
- 2
После первой итерации получаем $k = 1$ и $n = 49 // 7 = 7$. Условие цикла становится ложным, так как $1 \bmod 7 \ne 0$.
Ещё 4 қадам — толық шешімде
Текстовый файл состоит из заглавных букв латинского алфавита $A$, $B$, $C$, $D$, $E$ и $F$. Определите минимальное количество идущих подряд символов в прилагаемом файле, среди которых пара символов…
- 1
Сначала считываем строку из файла и для каждой позиции $i$ проверяем условие: символ в позиции $i$ равен $A$, а следующий символ равен $B$.
- 2
Строим префиксные суммы количества вхождений $AB$. Тогда число таких пар на отрезке с границами $l$ и $r$ вычисляется за постоянное время.
Ещё 2 қадам — толық шешімде
На обработку поступает натуральное число, не превышающее $10^9$. Нужно написать программу, которая выводит на экран максимальную цифру этого числа, меньшую 5. Если в числе нет цифр, меньших 5…
- 1
При вводе числа 507 программа последовательно рассматривает цифры 7, 0 и 5. Цифра 7 не подходит, цифра 0 подходит, но не превосходит начальное значение maxDigit = 0, а цифра 5 не подходит.$$maxDigit = 0$$
- 2
После завершения цикла проверяется условие maxDigit > 0. Оно ложно, поэтому программа выводит строку NO.$$507 \rightarrow \text{NO}$$
Ещё 4 қадам — толық шешімде
Текстовый файл состоит из символов $T$, $U$, $V$, $W$, $X$, $Y$ и $Z$. Определите в прилагаемом файле минимальное количество идущих подряд символов — длину непрерывной подпоследовательности, среди…
- 1
Считываем строку из файла и перебираем её символы справа налево, поддерживая границы текущего окна.
- 2
При добавлении символа $Z$ увеличиваем счётчик символов $Z$ в окне.
Ещё 3 қадам — толық шешімде
Текстовый файл состоит из символов $A$, $B$ и $C$. Определите максимальное количество идущих подряд пар символов $AB$ или $CB$ в прилагаемом файле. Искомая подпоследовательность должна состоять…
- 1
Файл последовательно просматривается слева направо. Допустимой считается пара, в которой первый символ равен $A$ или $C$, а второй символ равен $B$.$$pair[i] \in \{AB, CB\}$$
- 2
Для каждой допустимой пары увеличиваем длину текущей цепочки. Если пара не подходит, текущую цепочку начинаем заново.$$current = current + 1\text{ при }pair[i]\in\{AB,CB\};\quad current=0\text{ иначе}$$
Ещё 1 қадам — толық шешімде
Текстовый файл состоит из заглавных букв латинского алфавита $A$, $B$, $C$, $D$, $E$ и $F$. Определите максимальное количество идущих подряд символов в прилагаемом файле, среди которых пара символов…
- 1
Считываем строку из файла и рассматриваем её как последовательность символов.
- 2
Расширяем правую границу текущего фрагмента. При добавлении символа проверяем, образовалась ли в конце фрагмента пара $AB$.$$if\ s[r-1:r+1] = AB:\quad cnt \mathrel{+}= 1$$
Ещё 3 қадам — толық шешімде
Задание выполняется с использованием прилагаемых файлов. Текстовый файл состоит из цифр 0, 7, 8, 9 и знаков арифметических операций «–» и «*» (вычитание и умножение). Определите максимальное…
- 1
Корректное выражение должно состоять из одного или нескольких неотрицательных целых чисел, разделённых знаками «–» или «*». Поэтому оно начинается и заканчивается цифрой, а два знака операций подряд недопустимы.
- 2
При просмотре файла последовательно выделяем максимальные фрагменты, в которых соблюдаются правила записи чисел: число 0 может быть только однозначным, а многозначное число не начинается с нуля.
Ещё 2 қадам — толық шешімде
На обработку поступает натуральное число, не превышающее $10^9$. Нужно написать программу, которая выводит на экран количество цифр этого числа, делящихся на 3. Если в числе нет цифр, делящихся на…
- 1
При вводе числа 145 программа последовательно рассматривает цифры 5, 4 и 1. Ни одна из них не делится на 3.
- 2
Переменная count изначально равна 1 и не изменяется. Поэтому условие count == 0 ложно, и программа выводит число 1.
Ещё 4 қадам — толық шешімде
Текстовый файл состоит из символов A, C, D, E и F. Определите максимальное количество идущих подряд пар символов вида «гласная + согласная» в прилагаемом файле. Для выполнения этого задания следует…
- 1
Разобьём символы файла на пары соседних символов, начинающиеся с позиций 0, 2, 4 и так далее. Пара подходит, если первый символ — A или E, а второй — C, D или F.
- 2
При последовательном просмотре файла будем хранить количество подходящих пар подряд. Если очередная пара не подходит, текущую серию обнуляем; одновременно сохраняем максимальное значение.$$current = current + 1\text{ при подходящей паре; иначе }current = 0$$
Ещё 1 қадам — толық шешімде
Требовалось написать программу, которая получает на вход натуральное число $N$, не превосходящее $10^9$, и выводит число, равное количеству цифр 2 в десятичной записи числа $N$. Программист написал…
- 1
При вводе 324 цикл последовательно выделяет цифры справа налево: сначала 4, затем 2, затем 3. После обработки цифры 3 число N становится равным 0, и цикл завершается.$$d: 4 \to 2 \to 3$$
- 2
В исходной программе переменная R увеличивается для цифр, не равных 2. Для числа 324 она станет равна 2, поскольку цифры 4 и 3 не равны 2. Однако программа выводит не R, а последнее значение d, то есть 3.$$R = 2,\quad d = 3$$
Ещё 3 қадам — толық шешімде
Текстовый файл состоит из заглавных букв латинского алфавита $A$, $B$, $C$, $D$, $E$ и $F$. Определите в прилагаемом файле максимальное количество идущих подряд символов, среди которых пара $AB$ (в…
- 1
Считываем всю строку из прилагаемого файла и рассматриваем каждый возможный непрерывный фрагмент.
- 2
Для каждого фрагмента подсчитываем количество соседних пар $AB$. Пара учитывается при каждом индексе $i$, если предыдущий символ равен $A$, а текущий — $B$.$$s[i-1] = A \land s[i] = B$$
Ещё 2 қадам — толық шешімде
Задание выполняется с использованием прилагаемых к заданию файлов. Текстовый файл состоит не более чем из 1 200 000 символов $P$, $Q$, $R$ и $S$. Определите максимальное количество идущих подряд…
- 1
Последовательность должна не содержать двух символов $R$, стоящих рядом. Поэтому достаточно просматривать файл слева направо и проверять каждую соседнюю пару символов.
- 2
Если очередная пара равна $RR$, текущий допустимый фрагмент заканчивается, и поиск нового фрагмента начинается после второго символа $R$.
Ещё 1 қадам — толық шешімде
Текстовый файл состоит из заглавных букв латинского алфавита $A$, $B$, $C$, $D$, $E$ и $F$. Определите максимальное количество идущих подряд символов в прилагаемом файле, среди которых пара символов…
- 1
Считываем строку из файла и рассматриваем все её непрерывные фрагменты.
- 2
Для эффективного поиска используем два указателя. При расширении правой границы увеличиваем счётчик, если добавленная соседняя пара образует $CD$.
Ещё 2 қадам — толық шешімде
На обработку поступает натуральное число, не превышающее $10^9$. Нужно написать программу, которая выводит сумму цифр числа, не кратных 3. Если в числе нет цифр, не кратных 3, требуется вывести…
- 1
При вводе числа 645 цифры извлекаются справа налево: сначала 5, затем 4, затем 6.
- 2
Сначала выполняется `sum = N % 10`, поэтому sum получает значение 5. Цифра 5 не кратна 3, и затем sum снова получает значение 5.
Ещё 5 қадам — толық шешімде
На обработку поступает натуральное число, не превышающее $10^9$. Нужно написать программу, которая выводит на экран минимальную чётную цифру этого числа. Если в числе нет чётных цифр, требуется…
- 1
При вводе 231 сначала выполняется присваивание minDigit = 231 % 10, поэтому minDigit получает значение 1.$$231 \bmod 10 = 1$$
- 2
Затем программа рассматривает цифры 1, 3 и 2. Цифра 2 чётная, но условие 2 < 1 ложно, поэтому значение minDigit не изменяется. В конце проверка minDigit == 0 также ложна, и программа выводит 1.
Ещё 3 қадам — толық шешімде