321ФИПИ E0EDF1№ 24Күрделі На обработку поступает натуральное число, не превышающее $10^9$. Требуется вывести минимальную цифру числа, большую 3. Если цифр, больших 3, нет, необходимо вывести «NO». Программист написал…
- 1
Рассмотрим работу программы при вводе числа 128. Сначала minDigit получает значение 9.
- 2
Из числа 128 последовательно извлекаются цифры 8, 2 и 1. Цифра 8 больше 3 и меньше minDigit, но программа ошибочно присваивает значение minDigit переменной digit. Значение minDigit остаётся равным 9.
Ещё 4 қадам — толық шешімде
322ФИПИ 002443№ 25Күрделі Дан целочисленный массив из 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 қадам — толық шешімде
323ФИПИ 010282№ 25Күрделі У исполнителя Калькулятор две команды: 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 қадам — толық шешімде
325ФИПИ 038CC9№ 25Күрделі В программе используется одномерный целочисленный массив $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 қадам — толық шешімде
326ФИПИ 07E7EF№ 25Күрделі Запишите число, которое будет напечатано в результате выполнения программы. В программе переменным $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 қадам — толық шешімде
327ФИПИ 092950№ 25Базалық Запишите число, которое будет напечатано в результате выполнения следующей программы. Программа представлена на пяти языках программирования: Бейсик, 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 қадам — толық шешімде
328ФИПИ 1230FA№ 25Күрделі Запишите число, которое будет напечатано в результате выполнения программы. Во всех представленных языках используется целочисленное деление.
- 1
Начальные значения: $s = 500$, $n = 1$.
- 2
Выполним целочисленное деление $s$ на $4$ и одновременно умножим $n$ на $2$: $500 \to 125 \to 31 \to 7 \to 1 \to 0$. Получаем пять итераций цикла.
Ещё 1 қадам — толық шешімде
У медицинской компании есть $N$ пунктов приёма биоматериалов на анализ. Все пункты расположены вдоль автомагистрали и имеют номера, соответствующие расстоянию от нулевой отметки до конкретного…
- 1
Если лаборатория открыта в пункте с координатой $x$, доставлять пробирки можно из пунктов с координатами от $x-M$ до $x+M$.
- 2
Для каждого пункта с количеством пробирок $q_i$ вычисляем число контейнеров: один неполный контейнер допускается, поэтому используется значение $\left\lceil\dfrac{q_i}{12}\right\rceil$.
Ещё 2 қадам — толық шешімде
По каналу связи передаётся последовательность целых неотрицательных чисел — показания прибора, полученные с интервалом в 1 мин. в течение $T$ мин. Прибор измеряет количество атмосферных осадков…
- 1
Два показания с индексами $i$ и $j$ допустимы, если расстояние между моментами их передачи не меньше $K$, то есть $|i-j| \geq K$.
- 2
При просмотре последовательности слева направо для элемента с индексом $i$ достаточно знать максимальный элемент среди позиций от $1$ до $i-K$. Этот максимум можно поддерживать за постоянное время на каждом шаге.
Ещё 2 қадам — толық шешімде
331ФИПИ 155886№ 25Күрделі На вход алгоритма подаётся натуральное число $N$. Алгоритм строит по нему новое число $R$ следующим образом. Строится двоичная запись числа $N$. Если число $N$ чётное, то к этой записи справа и…
- 1
Проверим небольшие значения $N$, рассматривая чётные и нечётные числа отдельно.
- 2
Для чётного $N=2$ получаем $10_2\rightarrow111011_2=59_{10}$, а для следующего подходящего чётного числа $N=4$ получаем $100_2\rightarrow1110011_2=115_{10}$.
Ещё 2 қадам — толық шешімде
332ФИПИ 165399№ 25Күрделі На вход алгоритма подаётся натуральное число $N$. Алгоритм строит по нему новое число $R$ следующим образом. 1. Строится двоичная запись числа $N$. 2. К этой записи дописываются справа ещё несколько…
- 1
Для чётного числа $N$ к двоичной записи слева приписывается единица, а справа — два нуля. Если длина записи $N$ равна $k$, то$$R=2^{k+2}+4N$$
- 2
При $k=4$ максимальное значение чётного $N$ равно $14$, поэтому максимальный результат равен $2^6+4\cdot14=120$, что недостаточно.
Ещё 4 қадам — толық шешімде
333ФИПИ 1F9289№ 25Күрделі В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 10. Значения элементов равны 10, 8, 4, 3, 0, 7, 2, 1, 5, 9, 6 соответственно, то есть $A[0] = 10$, $A[1] = 8$ и так…
- 1
Начальное значение переменной равно $s = 0$. Последовательно сравниваем соседние элементы массива.$$A = [10, 8, 4, 3, 0, 7, 2, 1, 5, 9, 6]$$
- 2
При $j = 0, 1, 2, 3$ условие $A[j] < A[j+1]$ не выполняется.
Ещё 2 қадам — толық шешімде
334ФИПИ 22DACD№ 25Күрделі В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 11. Значения элементов равны 5, 8, 7, 11, 10, 12, 9, 6, 4, 13, 3, 15 соответственно, то есть $A[0]=5$, $A[1]=8$ и так…
- 1
В начале $A[0]=5$ и $s=0$. При $i=1$: $8>5$, поэтому выполняется обмен, а $s$ становится равным 1. Теперь $A[0]=8$.
- 2
При $i=2$: $7>8$ — нет обмена. При $i=3$: $11>8$ — обмен, $s=2$, теперь $A[0]=11$.
Ещё 3 қадам — толық шешімде
335ФИПИ 237BC9№ 25Күрделі В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 9. Значения элементов равны 6, 3, 4, 8, 7, 9, 5, 2, 0, 1 соответственно, то есть $A[0] = 6$, $A[1] = 3$ и т. д…
- 1
В начале $c=0$, а $A[0]=6$. При $i=1$: $A[1]=3<6$, поэтому $c=1$, после обмена $A[0]=3$.
- 2
При $i=2,3,4,5,6$ текущие значения $A[i]$ не меньше $A[0]=3$, поэтому обмен не выполняется.
Ещё 3 қадам — толық шешімде
У медицинской компании есть $N$ пунктов приёма биоматериалов на анализ. Все пункты расположены вдоль автомагистрали и имеют номера, соответствующие расстоянию от нулевой отметки до конкретного…
- 1
Для каждого пункта с количеством пробирок $q_i$ заранее вычисляется число необходимых контейнеров: $c_i=\left\lceil\dfrac{q_i}{30}\right\rceil$.$$c_i = \left\lfloor\dfrac{q_i+29}{30}\right\rfloor$$
- 2
Так как пункты уже перечислены по возрастанию координаты, для каждого правого конца окна поддерживаются две границы. В окне находятся все пункты, расстояние от которых до текущего пункта не превышает $M$.
Ещё 2 қадам — толық шешімде
У медицинской компании есть $N$ пунктов приёма биоматериалов на анализ. Все пункты расположены вдоль автомагистрали и имеют номера, соответствующие расстоянию от нулевой отметки до конкретного…
- 1
Для пункта с количеством пробирок $q_i$ вычисляем число контейнеров: оно равно округлению вверх $q_i/44$.$$w_i=\left\lceil\frac{q_i}{44}\right\rceil$$
- 2
Если лаборатория находится в пункте с координатой $x$, стоимость перевозки равна сумме взвешенных расстояний до всех пунктов.$$C(x)=\sum_{i=1}^{N}w_i|x_i-x|$$
Ещё 2 қадам — толық шешімде
338ФИПИ 337BC0№ 25Күрделі В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 11. Значения элементов равны 20, 19, 17, 41, 23, 12, 24, 16, 4, 13, 6, 15 соответственно, то есть $A[0]=20$…
- 1
В начале $s=0$, $n=5$, а $A[5]=12$. При $i=0,1,2,3,4$ условие $A[i]\leq A[5]$ не выполняется.$$20,19,17,41,23>12$$
- 2
При $i=5$ условие выполняется: $A[5]=12\leq A[5]=12$. К переменной $s$ прибавляется 5. Обмен элемента с самим собой ничего не меняет.$$s=0+5=5$$
Ещё 2 қадам — толық шешімде
339ФИПИ 3EF705№ 25Күрделі Дан целочисленный массив из 20 элементов. Элементы массива принимают целые значения от $-10\,000$ до $10\,000$ включительно. Наличие хотя бы одного элемента, который не делится на 3, гарантируется…
- 1
Нужно рассматривать только элементы, остаток от деления которых на 3 не равен нулю.$$A[I] \bmod 3 \ne 0$$
- 2
Так как подходящий элемент гарантирован, можно найти первый такой элемент и сохранить его как текущий максимум. Например, просмотреть массив слева направо и при первом подходящем элементе записать его в переменную $J$.
Ещё 2 қадам — толық шешімде
340ФИПИ 41B044№ 25Күрделі Цепочки символов (строки) создаются по следующему правилу. Первая строка состоит из одного символа — цифры «1». Каждая из последующих цепочек создаётся так: в очередную строку дважды записывается…
- 1
Обозначим через $c_i$ количество чётных цифр в $i$-й строке. В первой строке чётных цифр нет: $c_1=0$.
- 2
При построении каждой следующей строки предыдущая строка записывается дважды, поэтому её вклад удваивается. Дополнительно учитываем чётные цифры в номере строки.$$c_i=2c_{i-1}+e_i$$
Ещё 2 қадам — толық шешімде