РУҚА
ЕГЭ · информатика · жауаптары бар шешімдер

Информатика ЕГЭ — ФИПИ тапсырмаларының жауаптарымен шешімдері

Пәннің барлық есептері ФИПИ ашық банкінен алынған, жауаптары және талдаудың басымен бірге. Жеке тақырып немесе тапсырма нөмірі бойынша шешімдер — сол жақ панельде.

Шешімсіз тапсырмалар
2 435
жауаптары бар шешімдер
14
пәндегі тақырыптар
27
бланк нөмірлері
122
тізім беттері
2201ФИПИ 876cF0№ 25ЖоғарыСандар теориясы

Іздеу чисел по простым множителям

Напишите программу, которая перебирает целые числа, большие 2 920 573, в порядке возрастания и ищет среди них числа, представленные в виде произведения ровно двух простых множителей, не обязательно…

  1. 1
    Находим простые числа, в записи которых ровно одна цифра 9, и перебираем их произведения, начиная с чисел, больших 2 920 573.
  2. 2
    Первое подходящее произведение — квадрат простого числа 1709.$$1709\cdot1709=2920681$$

Ещё 4 қадам — толық шешімде

Шешім полностьюЖауапШешу самому6 қадам в разборе
2202ФИПИ 88A2CE№ 25ЖоғарыСандар теориясы

Іздеу чисел по делителям

Пусть $M$ — сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то считаем значение $M$ равным нулю. Напишите…

  1. 1
    Для каждого числа $n$ ищем его наименьший делитель $p$, больший единицы. Если делителей, кроме 1 и самого числа, нет, значение $M$ равно нулю.$$M = 0$$
  2. 2
    Если $p$ найден, то максимальный собственный делитель числа равен $n/p$, поэтому вычисляем значение $M$.$$M = p + \dfrac{n}{p}$$

Ещё 1 қадам — толық шешімде

Шешім полностьюЖауапШешу самому3 қадам в разборе
2203ФИПИ 89DED0№ 25ЖоғарыСандар теориясы

Маска числа и деление

Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: символ «?» означает ровно одну произвольную цифру; символ «*» означает любую последовательность…

  1. 1
    Рассмотрим все числа, соответствующие маске 2*1?5?1 и не превышающие $10^8$. Проверяем варианты с пустой, одноразрядной и двухразрядной последовательностью вместо символа «*».
  2. 2
    Для семизначного варианта число имеет вид $210501+1000a+10b$. Перебор цифр $a$ и $b$ с проверкой делимости на 1921 даёт число 213231.

Ещё 2 қадам — толық шешімде

Шешім полностьюЖауапШешу самому4 қадам в разборе

Результат выполнения цикла

Запишите число, которое будет напечатано в результате выполнения следующей программы. Для Вашего удобства программа представлена на пяти языках программирования.

  1. 1
    В начале работы программы $s = 0$ и $n = 0$. На каждой итерации $s$ увеличивается на $8$, а $n$ — на $2$.$$s = 8k,\quad n = 2k$$
  2. 2
    Найдём минимальное число итераций, при котором условие $s < 91$ перестанет выполняться:$$8k \geq 91 \Rightarrow k \geq 11{,}375$$

Ещё 1 қадам — толық шешімде

Шешім полностьюЖауапШешу самому3 қадам в разборе

Подсчёт обменов в массиве

В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 9. Значения элементов равны 9, 1, 2, 3, 4, 5, 6, 7, 8, 0 соответственно, то есть $A[0] = 9$, $A[1] = 1$ и т. д…

  1. 1
    Изначально массив имеет вид $[9, 1, 2, 3, 4, 5, 6, 7, 8, 0]$, а $s = 0$.
  2. 2
    При $j = 0$ условие $9 < 1$ ложно, обмена нет.

Ещё 3 қадам — толық шешімде

Шешім полностьюЖауапШешу самому5 қадам в разборе

Минимальное число после алгоритма

На вход алгоритма подаётся натуральное число $N$. Алгоритм строит по нему новое число $R$. Сначала строится двоичная запись числа $N$. Если сумма цифр в двоичной записи чётная, справа дописывается…

  1. 1
    Последовательно проверим небольшие значения $N$. Для $N=1,2,3,4,5,6,7$ получаются значения $R$, не превосходящие $19$.$$R_1=3,\ R_2=7,\ R_3=4,\ R_4=13,\ R_5=10,\ R_6=8,\ R_7=15$$
  2. 2
    Для $N=8$ двоичная запись имеет нечётную сумму цифр. Справа дописываем $1$, затем заменяем два левых разряда на $11$.$$8_{10}=1000_2\to10001_2\to11001_2$$

Ещё 1 қадам — толық шешімде

Шешім полностьюЖауапШешу самому3 қадам в разборе

Изменение элементов массива

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать натуральные значения от 1 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит…

  1. 1
    Для поиска минимума среди элементов, кратных 4, перебираем все элементы массива и проверяем условие делимости без остатка.$$a[i] \bmod 4 = 0$$
  2. 2
    Переменную j первоначально задаём равной 10001 — числу, превосходящему максимальное возможное значение элемента массива. При нахождении подходящего элемента меньшего значения обновляем j.

Ещё 2 қадам — толық шешімде

Шешім полностьюЖауапШешу самому4 қадам в разборе
2208ФИПИ 930BF4№ 25КүрделіСанау жүйелері

Двоичный алгоритм построения числа

На вход алгоритма подаётся натуральное число $N$. Алгоритм строит по нему новое число $R$ следующим образом. Строится двоичная запись числа $N$. Если сумма цифр в двоичной записи числа чётная, к…

  1. 1
    Проверим значения $N$ начиная с наименьших. Для каждого числа строим двоичную запись и применяем указанное правило.
  2. 2
    Для чисел от 1 до 10 получаются следующие значения: $R(1)=11$, $R(2)=7$, $R(3)=4$, $R(4)=13$, $R(5)=10$, $R(6)=8$, $R(7)=15$, $R(8)=25$, $R(9)=18$, $R(10)=20$. Ни одно из них не больше 29.

Ещё 2 қадам — толық шешімде

Шешім полностьюЖауапШешу самому4 қадам в разборе

Нечётные цифры в строке

Цепочки символов (строки) создаются по следующему правилу. Первая строка состоит из одного символа — цифры «1». Каждая из последующих цепочек создаётся следующим действием: в очередную строку дважды…

  1. 1
    Пусть $a_n$ — количество нечётных цифр в $n$-й строке. При переходе к следующей строке предыдущая строка записывается дважды.$$a_n = 2a_{n-1} + d(n)$$
  2. 2
    Здесь $d(n)$ — количество нечётных цифр в записи числа $n$. Для чисел от 2 до 8 значения $d(n)$ равны $0, 1, 0, 1, 0, 1, 0$ соответственно.$$a_1=1$$

Ещё 1 қадам — толық шешімде

Шешім полностьюЖауапШешу самому3 қадам в разборе
2210ФИПИ 953C66№ 25ЖоғарыСандар теориясы

Суммы собственных делителей

Пусть $R$ — сумма различных натуральных делителей целого числа, не считая единицы и самого числа. Напишите программу, которая перебирает целые числа, большие $500\,000$, в порядке возрастания и ищет…

  1. 1
    Перебираем числа, начиная с $500001$, и для каждого вычисляем сумму его собственных делителей.
  2. 2
    Для числа $500022 = 2 \cdot 3^2 \cdot 27779$ сумма всех делителей равна $3 \cdot 13 \cdot 27780 = 1083420$, поэтому $R = 1083420 - 1 - 500022 = 583397$.

Ещё 1 қадам — толық шешімде

Шешім полностьюЖауапШешу самому3 қадам в разборе

Обработка массива交换

В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 9. Значения элементов равны 2, 6, 4, 7, 3, 9, 1, 8, 0, 5 соответственно, то есть $A[0]=2$, $A[1]=6$ и так далее…

  1. 1
    В начале $c=0$, а $A[9]=5$. При $i=0$ значение $A[0]=2$ не больше 5, поэтому обмена нет.
  2. 2
    При $i=1$: $A[1]=6>5$. Увеличиваем $c$ до 1 и меняем местами 6 и 5. Теперь $A[9]=6$.

Ещё 3 қадам — толық шешімде

Шешім полностьюЖауапШешу самому5 қадам в разборе

Результат выполнения цикла

Запишите число, которое будет напечатано в результате выполнения программы. В программе переменные $s$ и $n$ принимают начальные значения $0$ и $86$. Пока $s < 71$, выполняются команды $s := s + 8$…

  1. 1
    На каждом шаге значение $s$ увеличивается на $8$, а значение $n$ уменьшается на $3$.
  2. 2
    Определим количество повторений цикла. После восьми повторений $s = 8 \cdot 8 = 64$, условие $s < 71$ ещё выполняется. После девятого повторения $s = 72$, поэтому цикл завершится.$$k = 9$$

Ещё 1 қадам — толық шешімде

Шешім полностьюЖауапШешу самому3 қадам в разборе

Цикл с целочисленным делением

Запишите число, которое будет напечатано в результате выполнения следующей программы. Для удобства программа представлена на пяти языках программирования.

  1. 1
    В начале работы программы $s = 100$, $n = 1$. На каждой итерации $s$ делится на $4$ нацело, а $n$ умножается на $2$.$$s \leftarrow s // 4,\quad n \leftarrow 2n$$
  2. 2
    Последовательно получаем значения переменной $s$:$$100 \to 25 \to 6 \to 1 \to 0$$

Ещё 1 қадам — толық шешімде

Шешім полностьюЖауапШешу самому3 қадам в разборе
2214ФИПИ 967872№ 25КүрделіСандар теориясы

Іздеу чисел с делителями

Напишите программу, которая перебирает целые числа, большие 600000, в порядке возрастания и ищет среди них такие, у которых есть натуральный делитель, оканчивающийся на цифру 8 и не равный ни самому…

  1. 1
    Последовательно проверяем целые числа, большие 600000, и перебираем их делители от наименьшего к наибольшему.
  2. 2
    Для числа 600012 наименьший подходящий делитель — 18.

Ещё 4 қадам — толық шешімде

Шешім полностьюЖауапШешу самому6 қадам в разборе

Подсчёт обменов в массиве

В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 10. Значения элементов равны $4, 2, 7, 5, 9, 1, 10, 0, 3, 8, 6$ соответственно. Определите значение переменной $c$…

  1. 1
    В начале $c=0$, $A[0]=4$. При $i=1$ имеем $A[1]=2$, условие не выполняется.
  2. 2
    При $i=2$: $A[2]=7>4$. Увеличиваем $c$ до 1 и меняем элементы местами, поэтому $A[0]=7$.

Ещё 3 қадам — толық шешімде

Шешім полностьюЖауапШешу самому5 қадам в разборе

Обработка массива с обменом

В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 9. Значения элементов равны $2, 5, 4, 7, 3, 9, 1, 8, 0, 6$ соответственно. Определите значение переменной $c$ после…

  1. 1
    Изначально $A[9] = 6$, а $c = 0$. При $i = 0, 1, 2$ значения массива меньше 6, поэтому обмена нет.
  2. 2
    При $i = 3$: $A[3] = 7 > 6$. Увеличиваем $c$ до 1 и меняем элементы местами. Теперь $A[9] = 7$.

Ещё 2 қадам — толық шешімде

Шешім полностьюЖауапШешу самому4 қадам в разборе
2217ФИПИ 9C9EF1№ 25КүрделіСандар теориясы

Делители с цифрой 8

Напишите программу, которая перебирает целые числа, большие 500000, в порядке возрастания и ищет среди них такие, у которых есть натуральный делитель, оканчивающийся на цифру 8 и не равный ни самому…

  1. 1
    Перебираем целые числа, большие 500000, и для каждого ищем делители, оканчивающиеся на цифру 8. Само число и делитель 8 исключаются.
  2. 2
    Число 500004 делится на 18, поэтому первая найденная пара — 500004 и 18.$$500004 \div 18 = 27778$$

Ещё 2 қадам — толық шешімде

Шешім полностьюЖауапШешу самому4 қадам в разборе

Минимальное число после преобразования

На вход алгоритма подаётся натуральное число $N$. Алгоритм строит по нему новое число $R$ следующим образом. Сначала строится двоичная запись числа $N$. Если число $N$ чётное, к этой записи справа и…

  1. 1
    Перебираем небольшие значения $N$ и строим соответствующие двоичные записи числа $R$. Для чётного числа к записи $N$ приписываются две единицы слева и две единицы справа.
  2. 2
    Для $N=6$ получаем $6_{10}=110_2$. После обработки имеем жазба $11\,110\,11=1111011_2$.

Ещё 2 қадам — толық шешімде

Шешім полностьюЖауапШешу самому4 қадам в разборе

Максимальное значение R

На вход алгоритма подаётся натуральное число $N$. Алгоритм строит по нему новое число $R$ следующим образом. 1. Строится двоичная запись числа $N$. 2. Далее эта запись обрабатывается по следующему…

  1. 1
    Проверим значения $N$ от 1 до 12. Для чётных чисел слева приписывается 10, а для нечётных — 1 слева и 01 справа.
  2. 2
    Для наибольшего подходящего нечётного числа $N=11$ имеем $11_{10}=1011_2$. После обработки получается двоичная запись $1101101_2$.$$1+1011+01=1101101_2$$

Ещё 2 қадам — толық шешімде

Шешім полностьюЖауапШешу самому4 қадам в разборе
2220ФИПИ 9E4759№ 25КүрделіМассивтер және жолдар

Телескопическая сумма массива

В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 10. Фрагмент программы вычисляет сумму выражений $A[i] - A[i+1]$ при $i$ от 0 до 9. В начале выполнения в массиве…

  1. 1
    Цикл выполняется для $i$ от 0 до 9, поэтому переменная $s$ равна сумме разностей соседних элементов массива.$$s=(A[0]-A[1])+(A[1]-A[2])+\dots+(A[9]-A[10])$$
  2. 2
    Все промежуточные элементы сокращаются попарно.$$s=A[0]-A[10]$$

Ещё 1 қадам — толық шешімде

Шешім полностьюЖауапШешу самому3 қадам в разборе