Алгоритмизация егэ информатика

Урок посвящен тому, как решать 5 задание ЕГЭ по информатике

Содержание:

  • Объяснение 5 задания
    • Исполнитель для возведения в квадрат, деления, умножения и сложения
    • Проверка числовой последовательности на соответствие алгоритму
  • Разбор 5 задания
    • Решение задания про алгоритм, который строит число R
    • Решение заданий для темы Проверка числовой последовательности (Автомат)

5-е задание: «Анализ алгоритмов и исполнители»

Уровень сложности

— базовый,

Требуется использование специализированного программного обеспечения

— нет,

Максимальный балл

— 1,

Примерное время выполнения

— 4 минуты.

  
Проверяемые элементы содержания: Формальное исполнение алгоритма, записанного на естественном языке, или умение создавать линейный алгоритм для формального исполнителя с ограниченным набором команд

До ЕГЭ 2021 года — это было задание № 6 ЕГЭ

Типичные ошибки и рекомендации по их предотвращению:

«Как и в других заданиях базового уровня сложности, источником ошибок служит недостаточная внимательность и отсутствие или поверхностность самостоятельной проверки полученного ответа»

ФГБНУ «Федеральный институт педагогических измерений»

Проверка числовой последовательности на соответствие алгоритму

  • для выполнения некоторых заданий необходимо повторить тему системы счисления;
  • максимальное значение суммы цифр десятичного числа — это 18, так как 9 + 9 = 18;
  • для проверки правильности переданного сообщения иногда вводится бит четности — дополнительный бит, которым дополняется двоичный код таким образом, чтобы в результате количество единиц стало четным: т.е. если в исходном сообщении количество единиц было четным, то добавляется 0, если нечетным — добавляется 1:
  • например: 
     310 = 112 
    после добавления бита четности: 110
    ----
     410 = 1002 
    после добавления бита четности: 1001
  • добавление к двоичной записи числа нуль справа увеличивает число в 2 раза:
  • например:
    1112 - это 710
    добавим 0 справа:
    11102 - это 1410

Теперь будем рассматривать конкретные типовые экзаменационные варианты по информатике с объяснением их решения.

Разбор 5 задания

Задание демонстрационного варианта 2022 года ФИПИ
Плейлист видеоразборов задания на YouTube:


Решение задания про алгоритм, который строит число R

5_11:

На вход алгоритма подается натуральное число N. Алгоритм строит по нему новое число R следующим образом:

  1. Строится двоичная запись числа 4N.
  2. К этой записи дописываются справа еще два разряда по следующему правилу:
    • складываются все цифры двоичной записи, и остаток от деления суммы на 2 дописывается в конец числа (справа). Например, запись 10000 преобразуется в запись 100001;
    • над этой записью производятся те же действия — справа дописывается остаток от деления суммы цифр на 2.

    Полученная таким образом запись является двоичной записью искомого числа R.

    Укажите такое наименьшее число N, для которого результат работы алгоритма больше 129. В ответе это число запишите в десятичной системе счисления.

  
Типовые задания для тренировки

✍ Решение:

    ✎ Решение аналитическим способом:

  • Заметим, что после выполнения второго пункта задания, будут получаться только четные числа! Наименьшим возможным четным числом, превышающим 129, является число 130. С ним и будем работать.
  • Переведем 130 в двоичную систему счисления. Используя компьютер это можно сделать с помощью программистского режима калькулятора. Либо в консоли интерпретатора Python набрать bin(130). Получим:
  • 13010 = 100000102
  • Это двоичное число получилось из исходного двоичного, после того как дважды был добавлен остаток от деления суммы цифр на 2. Т.е.:
  • в обратном порядке:
    было 1000001 -> стало 10000010 
    еще раз то же самое: 
    было 100000 -> стало 1000001 
    
  • Значит, необходимое нам двоичное число — это 100000.
  • Переведем 100000 в 10-ю систему. Для этого можно воспользоваться калькулятором, либо использовать интерпретатор Питона: int('100000',2).
  • 1000002 = 3210
  • Так как по условию у нас 4*N, то 32 делим на 4 — > 8.
  • ✎ Решение с использованием программирования:

    PascalAbc.Net:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    uses school;
     
    begin
      var n_ := 1;
      while True do
      begin
        var n := 4*n_;
        var ost := bin(n).CountOf('1') mod 2; // остаток при делении на 2
        n := 2 * n + ost; //в двоичной с.с. добавляем разряд (*2) и остаток к этому разряру (+ost)
        ost := bin(n).CountOf('1') mod 2; // остаток при делении на 2
        n := 2 * n + ost;
        if n > 129 then
        begin
          println(n_);
          break
        end;
        n_ += 1;
      end;
    end.

    Python:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    n_ = 1
    while True:
        n = 4*n_
        r = str(bin(n))
        r = r[2:]
        for i in range(2):
            if r.count('1') % 2 == 0:
                r+='0'
            else:
                r+='1'
     
        n = int(r, base=2)
        if n > 129:
            print(n_)
            break
        n_+=1

Результат: 8

Для более детального разбора предлагаем посмотреть видео теоретического решения данного 5 задания ЕГЭ по информатике:

📹 YouTube здесь
📹 Видеорешение на RuTube здесь (теоретическое решение)


5_12: Демоверсия ЕГЭ 2018 информатика:

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.

  1. Строится двоичная запись числа N.
  2. К этой записи дописываются справа ещё два разряда по следующему правилу:
  3. складываются все цифры двоичной записи числа N, и остаток от деления суммы на 2 дописывается в конец числа (справа). Например, запись 11100 преобразуется в запись 111001;
  4. над этой записью производятся те же действия – справа дописывается остаток от деления суммы её цифр на 2.
  5. Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R.

    Укажите минимальное число R, которое превышает число 83 и может являться результатом работы данного алгоритма. В ответе это число запишите в десятичной системе счисления.

✍ Решение:

  • Заметим, что после второго пункта условия задачи получаются только четные числа (т.к. если число в двоичной системе заканчивается на 0, то оно четное). Таким образом, нас будут интересовать только четные числа.
  • Наименьшим возможным числом, превышающим 83, является число 84. С ним и будем работать.
  • Переведем 84 в двоичную систему счисления. На компьютерном ЕГЭ это можно сделать с помощью программистского режима калькулятора. Либо в консоли интерпретатора Python набрать bin(84). Получим:
  • 84 = 1010100
  • В данном числе выделенная часть — это N. Значит, необходимое нам двоичное число — это 10101. После первого пункта задачи к данному числу должна была добавиться справа единица, так как оно нечетное. А мы имеем 0. Соответственно, это оно не подходит.
  • Возьмем следующее четное число — 86. Переведем его в двоичную систему счисления:
  • 86 = 1010110
  • В данном числе выделенная часть — это N. Значит, необходимое нам двоичное число — это 10101. После первого пункта задачи к данному числу должна была добавиться справа единица, так и есть: 101011. А затем добавляется 0: 1010110. Соответственно, оно подходит.

Результат: 86

Подробное решение данного 5 (раньше №6) задания из демоверсии ЕГЭ 2018 года смотрите на видео:
Видеорешение с программированием (PascalAnc.Net):
📹 YouTube здесь
📹 Видеорешение на RuTube здесь
Аналитическое видеорешение:

📹 Видеорешение на RuTube здесь -> аналитическое решение


5_18:

Алгоритм получает на вход натуральное число N > 1 и строит по нему новое число R следующим образом:
1. Строится двоичная запись числа N.
2. Подсчитывается количество нулей и единиц в полученной записи. Если их количество одинаково, в конец записи добавляется её последняя цифра. В противном случае в конец записи добавляется цифра, которая встречается реже.
3. Шаг 2 повторяется ещё два раза.
4. Результат переводится в десятичную систему счисления.

При каком наименьшем исходном числе N > 65 в результате работы алгоритма получится число, кратное 4?

Типовые задания для тренировки

✍ Решение:

    ✎ Решение с использованием программирования:

    PascalAbc.Net:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    
    uses school;
     
    begin
      var n_ := 1;
      while True do
      begin
        var n := n_;
        for var i := 1 to 3 do 
        begin
          if bin(n).CountOf('1') = bin(n).CountOf('0') then // сравниваем
            if n mod 2 = 0 then // если четное, то в конце 0
              n := 2 * n  // добавляем разряд = 0
            else 
            n := 2 * n + 1 // иначе добавляем разряд = 1
          else if bin(n).CountOf('1') > bin(n).CountOf('0') then
            n := 2 * n
          else
            n := 2 * n + 1
        end;
        if (n_ > 65) and (n mod 4 = 0) then
        begin
          println(n_);
          break
        end;
        n_ += 1;
      end;
    end.

    Python:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    n_ = 1
    while True:
        n = n_
        r = str(bin(n))
        r = r[2:]
        for i in range(3):
            if r.count('1') == r.count('0'):
                r+=r[-1] 
            elif r.count('1')>r.count('0'):
                r+='0'
            else:
                r+='1'
        n = int(r, base=2)
        if n_ > 65 and n % 4 == 0 :
            print(n_,n)
            break
        n_+=1

Ответ: 79


5_19:

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1) Число N переводим в двоичную запись.
2) Инвертируем все биты числа кроме первого.
3) Переводим в десятичную запись.
4) Складываем результат с исходным числом N.
Полученное число является искомым числом R.

Укажите наименьшее нечетное число N, для которого результат работы данного алгоритма больше 99. В ответе это число запишите в десятичной системе счисления.

✍ Решение:

    ✎ Решение с использованием программирования:

    PascalAbc.Net:

    Python:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    n_ = 1
    while True:
        n = n_
        r = str(bin(n))
        r = r[2:]
        for i in range(1,len(r)):
            if r[i]== '0':
                r=r[:i]+'1'+r[i+1:] 
            else:
                r=r[:i]+'0'+r[i+1:] 
        n = int(r, base=2)
        n+=n_
        if n > 99 and n_ % 2 != 0 :
            print(n_,n)
            break
        n_+=1

Ответ: 65


5_13:

На вход алгоритма подается натуральное число N. Алгоритм строит по нему новое число R следующим образом:

1. Строится двоичная запись числа N.
2. К этой записи дописываются справа еще два разряда по следующему правилу:
— если N делится нацело на 4, в конец числа (справа) дописывается сначала ноль, а затем еще один ноль;
— если N при делении на 4 дает в остатке 1, то в конец числа (справа) дописывается сначала ноль, а затем единица;
— если N при делении на 4 дает в остатке 2, то в конец числа (справа) дописывается сначала один, а затем ноль;
— если N при делении на 4 дает в остатке 3, в конец числа (справа) дописывается сначала один, а затем еще одна единица.

Например, двоичная запись 1001 числа 9 будет преобразована в 100101, а двоичная запись 1100 числа 12 будет преобразована в 110000.

  
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью числа R — результата работы данного алгоритма.

Укажите максимальное число R, которое меньше 100 и может являться результатом работы данного алгоритма. В ответе это число запишите

в десятичной системе счисления

.

  
Типовые задания для тренировки

✍ Решение:

  • Поскольку требуется найти наибольшее число, то возьмем наибольшее из возможных чисел, которые < 100 — это число 99. Переведем его в двоичную систему. На компьютерном ЕГЭ это можно сделать с помощью программистского режима калькулятора. Либо в консоли интерпретатора Python набрать bin(99). Получим:
  • 99 = 11000112
    
  • По алгоритму это число получилось путем добавления справа двух разрядов, значение которых зависит от исходного N:
  • 1100011
      N    
    
  • Т.е. в конце были добавлены две единицы — по алгоритму это значит, что исходное N должно в остатке при делении на 4 давать 3. Переведем найденное N в десятичную систему. Можно использовать калькулятор либо консоль пайтон: int('11000',2)
  • 11000 = 2410
    
  • 24 делится на 4 нацело, т.е. в конце по алгоритму должны были добавиться два разряда — 00. У нас же в конце 11. Т.е. число 99 не подходит. Проверим следующее — 98.
  • 98 = 11000102  : 10 в конце добавлено алгоритмом
    N = 110002 = 2410
    24 делится нацело на 4. 
    По алгоритму в конце должно быть 00, а мы имеем 10 
    98 - не подходит
    
    97 = 11000012 : 01 в конце добавлено алгоритмом
    N = 110002 = 2410
    24 делится нацело на 4. 
    По алгоритму в конце должно быть 00, а мы имеем 01 
    97 - не подходит
    
    96 = 11000002 : 00 в конце добавлено алгоритмом
    N = 110002 = 2410
    24 делится нацело на 4. 
    По алгоритму в конце должно быть 00, у нас 00 - верно!
    96 - подходит!
    

Результат: 96

Предлагаем посмотреть видео теоретического решения:

📹 YouTube здесь
📹 Видеорешение на RuTube здесь (теоретическое решение)


5_14:

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом:

1. Строится двоичная запись числа N.
2. К этой записи дописывается (дублируется) последняя цифра.
3. Затем справа дописывается бит чётности: 0, если в двоичном коде полученного числа чётное число единиц, и 1, если нечётное.
4. К полученному результату дописывается ещё один бит чётности.

  
Полученная таким образом запись (в ней на три разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R.

Укажите минимальное число R, большее 114, которое может быть получено в результате работы этого алгоритма. В ответе это число запишите в десятичной системе.

Типовые задания для тренировки  

✍ Решение:

    ✎ Решение аналитическим способом:

  • В постановке задания задано R > 114. R — это результат работы алгоритма. Для того, чтобы определить наименьшее возможно N, переведем сначала 114 в двоичную систему счисления и выделим в нем три добавленные по алгоритму цифры (перевод можно выполнить в консоли Питона: bin(114))
  • 114 = 11100102
    
  • Проанализируем, как могло бы получиться двоичное число 114 (R) по алгоритму:
  • 2. В полученное числе N = 1110 дублируется последняя цифра и получается 11100.
    3. Поскольку число единиц (3) — нечетное, то справа добавляется 1: 111001.
    4. Т.к. в полученном наборе цифр четное число единиц, то добавляем 0: 1110010

  • Поскольку из числа N = 1110 по алгоритму могла получиться только такая последовательность цифр (1110010), то для получения минимального R, но большего чем R = 114, увеличим в N = 1110 самый младший разряд на единицу и рассмотрим работу алгоритма с полученным числом:
  • 1. N = 1110 + 1 = 1111
    
    Работа по алгоритму:
    2. 11111 - дублирование последней цифры.
    3. 111111 - справа дописываем единицу, т.к. в полученном числе 5 единиц (нечетное)
    4. 1111110 - дописываем ноль, т.к. в полученном числе четное число единиц.
    
  • Ответ нужно получить в десятичной системе счисления (для перевода можно воспользоваться интерпретатором Питона: int('1111110',2)):
  • min R = 11111102 = 12610

    ✎ Решение с использованием программирования:

    PascalAbc.Net:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    
    uses school;
     
    begin
      var n_ := 1;
      while True do
      begin
        var n := n_;
              // дублирвание последней цифры
        if n mod 2 = 0 then // если четное, то в конце 0
          n := 2 * n  // добавляем разряд = 0
        else 
          n := 2 * n + 1; // иначе добавляем разряд = 1
        for var i := 1 to 2 do
        begin
          if bin(n).CountOf('1') mod 2 = 0 then
            n := 2 * n  // добавляем разряд = 0
         else 
            n := 2 * n + 1 // иначе добавляем разряд = 1
        end;
        if n > 114 then
        begin
          println(n);
          break
        end;
        n_ += 1;
      end;
    end.

    Python:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    n_ = 1
    while True:
        n = n_
        r  = str(bin(n)) # строковое значение
        r = r[2:] # убираем 0b
        r=r+r[-1]
        for i in range (2):
            if r.count('1') % 2 == 0:
                r = r+'0'
            else:
                r = r+'1'
        r = int(r,base = 2) # в 10-ю с.с.
        if r > 114:
            print(r)
            break
        n_+= 1

Результат: 126


5_17: Досрочный вариант 1 ЕГЭ по информатике 2020, ФИПИ:
На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число следующим образом.
1) Строится двоичная запись числа N.
2) К этой записи дописываются справа ещё два разряда по следующему правилу:
  — если N чётное, в конец числа (справа) дописываются два нуля, в противном случае справа дописываются две единицы.

Например, двоичная запись 1001 числа 9 будет преобразована в 100111.

  
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью числа – результата работы данного алгоритма.

Укажите минимальное число N, для которого результат работы алгоритма будет больше 134. В ответе это число запишите в десятичной системе счисления.

Ответ: 33

  
Видео -> теоретическое решение 
📹 Видеорешение на RuTube здесь -> теоретическое решение


5_16:

Автомат обрабатывает целое число N (0 ≤ N ≤ 255) по следующему алгоритму:

1. Строится восьмибитная двоичная запись числа N.
2. Все цифры двоичной записи заменяются на противоположные (0 на 1, 1 на 0).
3. Полученное число переводится в десятичную запись.
4. Из нового числа вычитается исходное, полученная разность выводится на экран.

  
Какое число нужно ввести в автомат, чтобы в результате получилось 45?

✍ Решение:

  • Результатом выполнения алгоритма является число 45. Алгоритм работает в двоичной системе счисления, поэтому переведем число:
  • 45 = 001011012
  • Пронумеруем биты слева направо, начиная с единицы. Рассмотрим каждый бит отдельно, начиная с левого бита под номером 1.
  • 1. Так как биты в уменьшаемом и вычитаемом должны быть различны, то единица в результате может получится только 1 - 0, с учетом, что у разряда с единицей заняли. То есть бит:
  •    .
    _  1 _ _ _ _ _ _ _    N инвертируемое
    =  0 _ _ _ _ _ _ _    N исходное
       0 0 1 0 1 1 0 1  = 45   результат
    
  • 2. 1 - 0 не может в результате дать 0, так как у следующей слева единицы мы заняли. Значит, 0 - 1. Чтобы не получить единицу в ответе, необходимо у нуля тоже занять:
  •    . .
    _  1 0 _ _ _ _ _ _ 
    =  0 1 _ _ _ _ _ _ 
       0 0 1 0 1 1 0 1  = 45   результат
    
  • 3. 1 - 0 не может быть, так как у следующего слева нуля мы заняли.
    Значит 0 - 1. То есть как раз чтобы получить единицу (10 - 1 = 1), занимаем у следующих слева разрядов:
  •    . .
    _  1 0 0 _ _ _ _ _ 
    =  0 1 1 _ _ _ _ _ 
       0 0 1 0 1 1 0 1  = 45   результат
    
  • 4. 0 - 1 не может быть. Значит, чтобы получить в результате ноль, берем 1 - 0, у единицы должно быть занято.
  •    . .   .
    _  1 0 0 1 _ _ _ _ 
    =  0 1 1 0 _ _ _ _ 
       0 0 1 0 1 1 0 1  = 45   результат
    
  • 5. 1 - 0 не может быть. Так как слева у единицы занято. Значит, чтобы получить в результате 1, берем 0 - 1:
  •    . .   .
    _  1 0 0 1 0 _ _ _ 
    =  0 1 1 0 1 _ _ _ 
       0 0 1 0 1 1 0 1  = 45   результат
    
  • 6. 0 - 1 не даст в ответе единицу, значит, имеем 1 - 0:
  •    . .   .
    _  1 0 0 1 0 1 _ _ 
    =  0 1 1 0 1 0 _ _ 
       0 0 1 0 1 1 0 1  = 45   результат
    
  • 7. 0 - 1 не может быть, значит, 1 - 0. Чтобы получить в результате 0, необходимо, чтобы у 1 было занято:
  •    . .   .     .
    _  1 0 0 1 0 1 1 _ 
    =  0 1 1 0 1 0 0 _ 
       0 0 1 0 1 1 0 1  = 45   результат
    
  • 8. Чтобы получить 1, имеем 0 - 1:
  •    . .   .     .
    _  1 0 0 1 0 1 1 0 
    =  0 1 1 0 1 0 0 1
       0 0 1 0 1 1 0 1  = 45   результат
    
  • Полученное число (вычитаемое) и есть искомое N. Переведем его в 10-ю с.с.:
  • 01101001 = 10510

Ответ: 105

Смотрите теоретический разбор задания на видео и подписывайтесь на наш канал:
📹 YouTube здесь
📹 Видеорешение на RuTube здесь -> теоретическое решение


Решение заданий для темы Проверка числовой последовательности (Автомат)

5_7:

Автомат получает на вход четырёхзначное число. По этому числу строится новое число по следующим правилам.

  1. Складываются первая и вторая, а также третья и четвёртая цифры исходного числа.
  2. Полученные два числа записываются друг за другом в порядке убывания (без разделителей).

Пример. Исходное число: 3165. Суммы: 3 + 1 = 4; 6 + 5 = 11. Результат: 114.

Укажите наименьшее число, в результате обработки которого, автомат выдаст число 1311.

✍ Решение:

Результат: 2949

Процесс теоретического решения данного 5 задания представлен в видеоуроке:

📹 YouTube здесь
📹 Видеорешение на RuTube здесь -> теоретическое решение


5_8:

Автомат получает на вход четырехзначное число. По нему строится новое число по следующим правилам:

  • Складываются первая и вторая, затем вторая и третья, а далее третья и четвёртая цифры исходного числа.
  • Полученные три числа записываются друг за другом в порядке возрастания (без разделителей).
  • Пример: Исходное число: 7531. Суммы: 7+5=12; 5+3=8; 3+1=4. Результат: 4812.

✍ Решение:

  • Число 2512 можно разбить на 2, 5, 12
  • Начнем с 12. Необходимо получить наибольшее число, поэтому разобьем на слагаемые с наибольшей цифрой — 9:
  • 12=9+3
  • То есть первые две цифры:
  •  93**
  • В число 2 тройка не входит, значит забираем тройку из 5. Остается 2. А, значит, из состава 2 остается 0.
  • Получим число: 9320.
  • Результат: 9320

    Подробное теоретическое решение данного 5 задания можно просмотреть на видео:

    📹 YouTube здесь
    📹 Видеорешение на RuTube здесь -> теоретическое решение


    5_9:

    Автомат получает на вход два двузначных шестнадцатеричных числа. В этих числах все цифры не превосходят цифру 6 (если в числе есть цифра больше 6, автомат отказывается работать). По этим числам строится новое шестнадцатеричное число по следующим правилам:

    1. Вычисляются два шестнадцатеричных числа — сумма старших разрядов полученных чисел и сумма младших разрядов этих чисел.
    2. Полученные два шестнадцатеричных числа записываются друг за другом в порядке убывания (без разделителей).
    3. Пример: Исходные числа: 25, 66. Поразрядные суммы: 8, B. Результат: B8.

    Какие из предложенных чисел могут быть результатом работы автомата?
    Перечислите в алфавитном порядке буквы, соответствующие этим числам, без пробелов и знаков препинания.

    Варианты:
    A) 127
    B) C6
    C) BA
    D) E3
    E) D1

    ✍ Решение:

    Проанализируем все варианты:

  • Вариант А. 127 не подходит, так как число 12 в шестнадцатеричной системе записывается как С.
  • Вариант В. С6 разбиваем на 12 и 6. Число может быть результатом работы автомата. Исходные числа, например, 35 и 37
  • Вариант С. BA разбиваем на 11 и 10. Число может быть результатом работы автомата. Исходные числа, например, 55 и 56
  • Вариант D. E3 разбиваем на 14 и 3. 14=6+8, но цифры большие 6 не принимает автомат. Не подходит.
  • Вариант E. D1 разбиваем на 13 и 1. 13=6+7, но цифры большие 6 не принимает автомат. Не подходит.
  • Результат: BC

    Подробное теоретическое решение данного 5 задания можно просмотреть на видео:

    📹 YouTube здесь
    📹 Видеорешение на RuTube здесь -> теоретическое решение


    5_10: Задание 5 ГВЭ 11 класс 2018 год ФИПИ

    Автомат получает на вход два двузначных шестнадцатеричных числа. В этих числах все цифры не превосходят цифру 7 (если в числе есть цифра больше 7, автомат отказывается работать). По этим числам строится новое шестнадцатеричное число по следующим правилам.

    1. Вычисляются два шестнадцатеричных числа: сумма старших разрядов полученных чисел и сумма младших разрядов этих чисел.
    2. Полученные два шестнадцатеричных числа записываются друг за другом в порядке возрастания (без разделителей).

    Пример. Исходные числа: 66, 43. Поразрядные суммы: A, 9. Результат: 9A.

    Определите, какое из предложенных чисел может быть результатом работы автомата.

    Варианты:
    1) AD
    2) 64
    3) CF
    4) 811

    ✍ Решение:

    Теоретическое решение 4 задания ГВЭ 11 класса смотрите на видео:

    📹 YouTube здесь
    📹 Видеорешение на RuTube здесь -> теоретическое решение


    5_15:

    Автомат получает на вход натуральное число X. По этому числу строится трёхзначное число Y по следующим правилам:
    1. Первая цифра числа Y (разряд сотен) – остаток от деления X на 7.
    2. Вторая цифра числа Y (разряд десятков) – остаток от деления X на 2.
    3. Третья цифра числа Y (разряд единиц) – остаток от деления X на 5.

    Пример. Исходное число: 55. Остаток от деления на 7 равен 6; остаток от деления на 2 равен 1; остаток от деления на 5 равен 0. Результат работы автомата: 610.

      
    Сколько существует двузначных чисел, при обработке которого автомат выдаёт результат 312?

    Типовые задания для тренировки

    ✍ Решение:

    • Обозначим каждую цифру числа Y согласно заданию:
    • Y =    3       1       2
             x mod 7    x mod 2    x mod 5
      
    • Сделаем выводы:
    • 1. x mod 2 = 1 => значит, X — нечетное число
      2. x mod 5 = 2 => значит, X — либо ?2, либо ?7.
      3. раз x — нечетное, то из пред. пункта получаем x = ?7
      4. x mod 7 = 3 => переберем все варианты:

      97 - не подходит, 
      87 - подходит (87 / 7 = 12, остаток = 3)
      77 - не подходит,
      67 - не подходит,
      57 - не подходит,
      47 - не подходит,
      37 - не подходит,
      27 - не подходит,
      17 - подходит (17 / 7 = 2, остаток = 3)
      

    Результат: 2


    Всего: 1000    1–20 | 21–40 | 41–60 | 61–80 | 81–100 | 101–120 | 121–140 …

    Добавить в вариант

    Ниже на пяти языках программирования записан алгоритм, который вводит натуральное число x, выполняет преобразования, а затем выводит одно число. Укажите наименьшее возможное значение x, при вводе которого алгоритм выведет число 12.

    Бейсик Python

    DIM X, A, B, D AS INTEGER

    INPUT X

    A = 0: B = 10

    WHILE X > 0

        D = X MOD 6

        IF D > A THEN A = D

        IF D < B THEN B = D

        X = X 6

    WEND

    PRINT A*B

    x = int(input())

    a=0; b=10

    while x > 0:

        d = x % 6

        if d > a: a = d

        if d < b: b = d

        x = x // 6

    print(a*b)

    Паскаль Алгоритмический язык

    var x, a, b, d: longint;

    begin

        readln(x);

        a := 0; b := 10;

        while x > 0 do begin

            d := x mod 6;

            if d > a then a := d;

            if d < b then b := d;

            x := x div 6

        end;

        writeln(a*b);

    end.

    алг

    нач

        цел x, a, b, d

        ввод x

        a := 0; b := 10

        нц пока x > 0

            d := mod(x,6)

            если d > a то a := d все

            если d < b то b := d все

            x := div(x,6)

        кц

        вывод a*b

    кон

    С++

    #include <iostream>

    using namespace std;

    int main()

    {

        int x, a, b, d;

        cin >> x;

        a = 0; b = 10;

        while (x > 0) {

            d = x % 6;

            if (d > a) a = d;

            if (d < b) b = d;

            x = x / 6;

        }

        cout << a*b << endl;

        return 0;

    }


    Автомат обрабатывает натуральное число N по следующему алгоритму:

    1.  Строится двоичная запись числа N.

    2.  Запись «переворачивается», то есть читается справа налево. Если при этом появляются ведущие нули, они отбрасываются.

    3.  Полученное число переводится в десятичную запись и выводится на экран.

    Пример. Дано число N = 58. Алгоритм работает следующим образом.

    1.  Двоичная запись числа N: 111010.

    2.  Запись справа налево: 10111 (ведущий ноль отброшен).

    3.  На экран выводится десятичное значение полученного числа 23.

    Какое наибольшее число, не превышающее 100, после обработки автоматом даёт результат 11?


    Ниже на пяти языках программирования записан алгоритм, который вводит натуральное число x, выполняет преобразования, а затем выводит одно число. Укажите наименьшее возможное значение x, при вводе которого алгоритм выведет число 13.

    Бейсик Python

    DIM X, A, B, D AS INTEGER

    INPUT X

    A = 0: B = 10

    WHILE X > 0

        D = X MOD 9

        IF D > A THEN A = D

        IF D < B THEN B = D

        X = X 9

    WEND

    PRINT A+B

    x = int(input())

    a=0; b=10

    while x > 0:

        d = x % 9

        if d > a: a = d

        if d < b: b = d

        x = x // 9

    print(a+b)

    Паскаль Алгоритмический язык

    var x, a, b, d: longint;

    begin

        readln(x);

        a := 0; b := 10;

        while x > 0 do begin

            d := x mod 9;

            if d > a then a := d;

            if d < b then b := d;

            x := x div 9

        end;

        writeln(a+b);

    end.

    алг

    нач

        цел x, a, b, d

        ввод x

        a := 0; b := 10

        нц пока x > 0

            d := mod(x,9)

            если d > a то a := d все

            если d < b то b := d все

            x := div(x,9)

        кц

        вывод a+b

    кон

    С++

    #include <iostream>

    using namespace std;

    int main()

    {

        int x, a, b, d;

        cin >> x;

        a = 0; b = 10;

        while (x > 0) {

            d = x % 9;

            if (d > a) a = d;

            if (d < b) b = d;

            x = x / 9;

        }

        cout << a+b << endl;

        return 0;

    }


    Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 3 и при этом была максимально возможной. Гарантируется, что искомую сумму получить можно. Программа должна напечатать одно число  — максимально возможную сумму, соответствующую условиям задачи.

    Входные данные.

    Файл A

    Файл B

    Даны два входных файла (файл A и файл B), каждый из которых содержит в первой строке количество пар N (1 ≤ N ≤ 100000). Каждая из следующих N строк содержит два натуральных числа, не превышающих 10 000.

    Пример организации исходных данных во входном файле:

    6

    1 3

    5 12

    6 9

    5 4

    3 3

    1 1

    Для указанных входных данных значением искомой суммы должно быть число 32.

    В ответе укажите два числа: сначала значение искомой суммы для файла А, затем для файла B.

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

    Ответ:

    Источник: Демонстрационная версия ЕГЭ−2021 по информатике


    Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 3 и при этом была минимально возможной. Гарантируется, что искомую сумму получить можно. Программа должна напечатать одно число  — минимально возможную сумму, соответствующую условиям задачи.

    Входные данные.

    Файл A

    Файл B

    Даны два входных файла (файл A и файл B), каждый из которых содержит в первой строке количество пар N (1 ≤ N ≤ 100000). Каждая из следующих N строк содержит два натуральных числа, не превышающих 10 000.

    Пример организации исходных данных во входном файле:

    6

    1 3

    5 12

    6 9

    5 4

    3 3

    1 1

    Для указанных входных данных значением искомой суммы должно быть число 20.

    В ответе укажите два числа: сначала значение искомой суммы для файла А, затем для файла B.

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

    Ответ:


    Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 5 и при этом была максимально возможной. Гарантируется, что искомую сумму получить можно. Программа должна напечатать одно число  — максимально возможную сумму, соответствующую условиям задачи.

    Входные данные.

    Файл A

    Файл B

    Даны два входных файла (файл A и файл B), каждый из которых содержит в первой строке количество пар N (1 ≤ N ≤ 100000). Каждая из следующих N строк содержит два натуральных числа, не превышающих 10 000.

    Пример организации исходных данных во входном файле:

    6

    1 3

    5 12

    6 9

    5 4

    3 3

    1 1

    Для указанных входных данных значением искомой суммы должно быть число 33.

    В ответе укажите два числа: сначала значение искомой суммы для файла А, затем для файла B.

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

    Ответ:


    Набор данных состоит из пар натуральных чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел делилась на 3 и при этом была максимально возможной.

    Входные данные.

    Файл A

    Файл B

    Первая строка входного файла содержит число N  — общее количество пар в наборе. Каждая из следующих N строк содержит два натуральных числа, не превышающих 10 000.

    Пример организации исходных данных во входном файле:

    6

    1 3

    5 10

    6 9

    5 4

    3 3

    1 1

    Для указанных данных искомая сумма равна 30.

    В ответе укажите два числа: сначала значение искомой суммы для файла А, затем для файла B.

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

    Ответ:


    Набор данных состоит из пар натуральных чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел делилась на 3 и при этом была минимально возможной.

    Входные данные.

    Файл A

    Файл B

    Первая строка входного файла содержит число N  — общее количество пар в наборе. Каждая из следующих N строк содержит два натуральных числа, не превышающих 10 000.

    Пример организации исходных данных во входном файле:

    6

    1 3

    5 12

    6 9

    5 4

    3 3

    1 1

    Для указанных данных искомая сумма равна 21.

    В ответе укажите два числа: сначала значение искомой суммы для файла А, затем для файла B.

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

    Ответ:


    Набор данных состоит из троек натуральных чисел. Необходимо распределить все числа на три группы, при этом в каждую группу должно попасть ровно одно число из каждой исходной тройки. Сумма всех чисел в первой группе должна быть чётной, во второй  — нечётной. Определите максимально возможную сумму всех чисел в третьей группе.

    Входные данные.

    Файл A

    Файл B

    Первая строка входного файла содержит число N  — общее количество троек в наборе. Каждая из следующих N строк содержит три натуральных числа, не превышающих 10 000.

    Пример входного файла:

    3

    1 2 3

    5 12 4

    6 9 7

    Для указанных данных искомая сумма равна 24, она соответствует такому распределению чисел по группам: (1, 5, 6), (2, 4, 7), (3, 12, 9).

    Вам даны два входных файла (A и B), каждый из которых имеет описанную выше структуру. В ответе укажите два числа: сначала значение искомой суммы для файла A, затем для файла B.

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

    Ответ:


    Набор данных состоит из троек натуральных чисел. Необходимо распределить все числа на три группы, при этом в каждую группу должно попасть ровно одно число из каждой исходной тройки. Сумма всех чисел в первой группе должна быть чётной, во второй  — нечётной. Определите минимально возможную сумму всех чисел в третьей группе.

    Входные данные.

    Файл A

    Файл B

    Первая строка входного файла содержит число N  — общее количество троек в наборе. Каждая из следующих N строк содержит три натуральных числа, не превышающих 10 000.

    Пример входного файла:

    3

    1 2 3

    8 12 4

    6 9 7

    Для указанных данных искомая сумма равна 11, она соответствует такому распределению чисел по группам: (2, 8, 7), (3, 12, 9), (1, 4, 6).

    Вам даны два входных файла (A и B), каждый из которых имеет описанную выше структуру. В ответе укажите два числа: сначала значение искомой суммы для файла A, затем для файла B.

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

    Ответ:


    Набор данных состоит из нечётного количества пар натуральных чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы чётность суммы выбранных чисел совпадала с чётностью большинства выбранных чисел и при этом сумма выбранных чисел была как можно больше. Определите максимальную сумму, которую можно получить при таком выборе. Гарантируется, что удовлетворяющий условиям выбор возможен.

    Входные данные.

    Файл A

    Файл B

    Первая строка входного файла содержит число N  — общее количество пар в наборе. Каждая из следующих N строк содержит два натуральных числа, не превышающих 10 000.

    Пример входного файла:

    5

    15 8

    5 11

    6 3

    7 2

    9 14

    Для указанных данных надо выбрать числа 15, 11, 6, 7 и 14. Большинство из них нечётны, сумма выбранных чисел равна 53 и тоже нечётна. В ответе надо записать число 53.

    Вам даны два входных файла (A и B), каждый из которых имеет описанную выше структуру. В ответе укажите два числа: сначала значение искомой суммы для файла A, затем для файла B.

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

    Ответ:


    Набор данных состоит из нечётного количества пар натуральных чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы чётность суммы выбранных чисел совпадала с чётностью большинства выбранных чисел и при этом сумма выбранных чисел была как можно меньше. Определите минимальную сумму, которую можно получить при таком выборе. Гарантируется, что удовлетворяющий условиям выбор возможен.

    Входные данные.

    Файл A

    Файл B

    Первая строка входного файла содержит число N  — общее количество пар в наборе. Каждая из следующих N строк содержит два натуральных числа, не превышающих 10 000.

    Пример входного файла:

    5

    15 8

    5 11

    6 3

    7 2

    9 14

    Для указанных данных надо выбрать числа 8, 5, 3, 2 и 9. Большинство из них нечётны, сумма выбранных чисел равна 27 и тоже нечётна. В ответе надо записать число 27.

    Вам даны два входных файла (A и B), каждый из которых имеет описанную выше структуру. В ответе укажите два числа: сначала значение искомой суммы для файла A, затем для файла B.

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

    Ответ:


    Автомат обрабатывает натуральное число N по следующему алгоритму.

    1.  Строится двоичная запись числа N.

    2.  Если N четное, то в конец полученной записи (справа) дописывается 0, в начало  — 1; если N  — нечётное в конец и начало дописывается по две единицы.

    3.  Результат переводится в десятичную систему и выводится на экран.

    Пример. Дано число N  =  13. Алгоритм работает следующим образом:

    1.  Двоичная запись числа N: 1101.

    2.  Число нечетное, следовательно, по две единицы по краям  — 11110111.

    3.  На экран выводится число 247.

    Укажите наименьшее число, большее 52, которое может является результатом работы автомата.

    Источник: ЕГЭ по информатике 24.06.2021. Основная волна. Вариант Евгения Джобса


    Дана последовательность из N натуральных чисел. Рассматриваются все её непрерывные подпоследовательности, такие что сумма элементов каждой из них кратна k  =  43. Найдите среди них подпоследовательность с максимальной суммой, определите её длину. Если таких подпоследовательностей найдено несколько, в ответе укажите количество элементов самой короткой из них.

    Входные данные

    Файл A

    Файл B

    Даны два входных файла (файл A и файл B), каждый из которых содержит в первой строке количество чисел N (1 ≤ N ≤ 10 000 000). Каждая из следующих N строк содержит одно натуральное число, не превышающее 10 000.

    Пример организации исходных данных во входном файле:

    7

    1

    3

    4

    93

    8

    5

    95

    В ответе укажите два числа: сначала значение искомой длины для файла А, затем  — для файла B.

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

    Источник: Демонстрационная версия ЕГЭ−2022 по информатике


    Алгоритм получает на вход натуральное число N > 1 и строит по нему новое число R следующим образом:

    1.  Вычисляется сумма чётных цифр в десятичной записи числа N. Если чётных цифр в записи нет, сумма считается равной нулю.

    2.  Вычисляется сумма цифр, стоящих на чётных местах в десятичной записи числа N без ведущих нулей. Места отсчитываются слева направо (от старших разрядов к младшим, начиная с единицы). Если число однозначное (цифр на чётных местах нет), сумма считается равной нулю.

    3.  Результатом работы алгоритма становится модуль разности полученных двух сумм.

    Пример. Дано число N  =  2021. Алгоритм работает следующим образом:

    1.  Чётные цифры в записи: 2, 0, 2, их сумма равна 4.

    2.  Цифры на чётных местах: 0, 1, их сумма равна 1.

    3.  Модуль разности полученных сумм равен 3.

    Результат работы алгоритма R  =  3.

    При каком наименьшем N в результате работы алгоритма получится R  =  13?


    Алгоритм получает на вход натуральное число N > 1 и строит по нему новое число R следующим образом:

    1.  Вычисляется сумма чётных цифр в десятичной записи числа N. Если чётных цифр в записи нет, сумма считается равной нулю.

    2.  Вычисляется сумма цифр, стоящих на чётных местах в десятичной записи числа N без ведущих нулей. Места отсчитываются слева направо (от старших разрядов к младшим, начиная с единицы). Если число однозначное (цифр на чётных местах нет), сумма считается равной нулю.

    3.  Результатом работы алгоритма становится модуль разности полученных двух сумм.

    Пример. Дано число N  =  2021. Алгоритм работает следующим образом:

    1.  Чётные цифры в записи: 2, 0, 2, их сумма равна 4.

    2.  Цифры на чётных местах: 0, 1, их сумма равна 1.

    3.  Модуль разности полученных сумм равен 3.

    Результат работы алгоритма R  =  3.

    При каком наименьшем N в результате работы алгоритма получится R  =  11?


    Алгоритм получает на вход натуральное число N и строит по нему новое число R следующим образом:

    1.  Строится двоичная запись числа N.

    2.  Складываются все цифры полученной двоичной записи. В конец записи (справа) дописывается остаток от деления суммы на 2.

    3.  Предыдущий пункт повторяется для записи с добавленной цифрой.

    4.  Результат переводится в десятичную систему.

    Пример. Дано число N  =  13. Алгоритм работает следующим образом:

    1.  Двоичная запись числа N: 1101.

    2.  Сумма цифр двоичной записи 3, остаток от деления на 2 равен 1, новая запись 11011.

    3.  Сумма цифр полученной записи 4, остаток от деления на 2 равен 0, новая запись 110110.

    4.  Результат работы алгоритма R  =  54.

    При каком наименьшем числе N в результате работы алгоритма получится R > 170? В ответе запишите это число в десятичной системе счисления.


    Алгоритм получает на вход натуральное число N и строит по нему новое число R следующим образом:

    1.  Строится двоичная запись числа N.

    2.  Складываются все цифры полученной двоичной записи. В конец записи (справа) дописывается остаток от деления суммы на 2.

    3.  Предыдущий пункт повторяется для записи с добавленной цифрой.

    4.  Результат переводится в десятичную систему.

    Пример. Дано число N  =  13. Алгоритм работает следующим образом:

    1.  Двоичная запись числа N: 1101.

    2.  Сумма цифр двоичной записи 3, остаток от деления на 2 равен 1, новая запись 11011.

    3.  Сумма цифр полученной записи 4, остаток от деления на 2 равен 0, новая запись 110110.

    4.  Результат работы алгоритма R  =  54.

    При каком наименьшем числе N в результате работы алгоритма получится R > 154? В ответе запишите это число в десятичной системе счисления.


    Ниже на 5-ти языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наибольшее из таких чисел x, при вводе которых алгоритм напечатает сначала 2, а потом 14.

    Бэйсик Паскаль

    DIM X, A, B AS INTEGER

    INPUT X

    A = 0: B = 1

    WHILE X > 0

        A = A + 1

        B = B * (X MOD 10)

        X = X 10

    WEND

    PRINT A

    PRINT B

    var x, a, b : integer;

    begin

    readln(x);

    a := 0; b := 1;

    while x > 0 do

        begin

            a := a + 1;

            b := b * (x mod 10);

            x := x div 10;

        end;

    writeln(a); write(b);

    end.

    Си++ Алгоритмический

    #include <iostream>

    using namespace std;

    int main()

    {

        int x, a, b;

        cin >> x;

        a = 0; b = 1;

        while (x > 0){

            a = a + 1;

            b = b *(x%10);

            x= x / 10;

        }

        cout << a << endl << b endl;

    }

    алг

    нач

    цел x, a, b

    ввод x

    a := 0; b := 1

    нц пока x > 0

        a := a+1

        b := b * mod(x,10)

        x := div(x,10)

    кц

    вывод a, нс, b

    кон

    Python

    x = int(input())

    a = 0

    b = 1

    while x > 0:

        a += 1

        b *= x % 10

        x = x // 10

    print(a)

    print(b)


    Ниже на 5-ти языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 72.

    Бэйсик Паскаль

    DIM X, A, B AS INTEGER

    INPUT X

    A=0: B=1

    WHILE X > 0

        A = A+1

        B = B*(X MOD 10)

        X = X 10

    WEND

    PRINT A

    PRINT B

    var x, a, b: integer;

    begin

        readln(x);

        a:=0; b:=1;

        while x>0 do

            begin

                a:=a+1;

                b:=b*(x mod 10);

                x:= x div 10;

            end;

    writeln(a); write(b);

    end.

    Си++ Алгоритмический

    #include <iostream>

    using namespace std;

    int main()

    {

        int x, a, b;

        cin >> x;

        a=0; b=1;

        while (x>0){

            a=a+1;

            b=b*(x%10);

            x= x/10;

        }

        cout << a << endl << b endl;

    }

    алг

    нач

    цел x, a, b

    ввод x

    a:=0; b:=1

    нц пока x>0

        a:=a+1

        b:=b*mod(x,10)

        x:=div(x,10)

    кц

    вывод a, нс, b

    кон

    Python

    x = int(input())

    a = 0

    b = 1

    while x > 0:

        a += 1

        b *= x % 10

        x = x // 10

    print(a)

    print(b)

    Всего: 1000    1–20 | 21–40 | 41–60 | 61–80 | 81–100 | 101–120 | 121–140 …

    12 задание ЕГЭ по информатике обычно решает только половина выпускников. Оно правда такое сложное? Нет, если заранее изучить каждый из трех прототипов. Из этой статьи вы узнаете, как справиться с Редактором, Роботом и Чертежником — и как можно сделать это еще проще, используя программирование.

    12 задание ЕГЭ по информатике

    Прототипы задания 12 и их сложности

    12 задание ЕГЭ по информатике относится к повышенному уровню сложности. На экзамене за него можно получить один первичный балл.

    Это задание — часть блога «Алгоритмизация». Чтобы решить его, нужно уметь работать с алгоритмами и анализировать их. В этом задании могут встретиться три прототипа заданий: Редактор, Робот и Чертежник. Причем Редактор встречается на экзамене в последнее время чаще других прототипов.

    Редактор — это прототип на работу с цепочками цифр или букв. Нам дают алгоритм и строку, содержащую некоторое количество знаков. Нужно узнать, какая строка получится после выполнения программы или посчитать количество символов в строке. 

    Если решать подобные задания аналитически, нужно искать закономерности изменения цепочки, чтобы получить ответ. Именно в этом и заключается сложность задания, ведь не все могут правильно найти нужную закономерность. 

    Робот — прототип на работу с клетчатой плоскостью и алгоритмом. Вам дают алгоритм и плоскость, содержащую 36 клеток. Нужно найти количество клеток, удовлетворяющее определенному условию. Сложность в том, что ученики начинают проверять все 36 клеток. Делать это не нужно, если проанализировать алгоритм из условия.

    Чертежник — прототип на работу с алгоритмом, где исполнитель перемещается по координатной плоскости. Чаще всего в таких заданиях в алгоритме есть пропуски в командах. Нужно найти наибольшее количество повторений цикла. Сложностей обычно здесь не так много, основная — невнимательность при выполнении вычислений.

    Самостоятельно подготовиться к ЕГЭ непросто. На то, чтобы разобраться со всеми темами, понадобится много времени. Но и это не решит проблему! Например, если вы запомнили какое-то решение из интернета, а оно оказалось неправильным, можно на пустом месте потерять баллы. Если хотите научиться решать все задания ЕГЭ по информатике, обратите внимание на онлайн-курсы MAXIMUM! Наши специалисты уже проанализировали сотни вариантов ЕГЭ и подготовили для вас вас максимально полезные занятия.

    Приходите к нам на консультацию — вы сможете пройти диагностику по выбранным предметам ЕГЭ, поставить цели и составить стратегию подготовки, чтобы получить на экзамене высокие баллы. Все это абсолютно бесплатно!

    Редактор — как решать?

    Задания с прототипом «Редактор» можно решать как аналитически, так и с помощью компьютера, если у вас все хорошо с программированием. Мы рассмотрим с вами оба способа решения и убедимся, что они дают одинаковые ответы.

    Пример 1 (Редактор)

    Исполнитель Редактор получает на вход строку цифр и преобразовывает ее.

    Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.

    А) заменить (v, w).

    Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150.

    Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.

    Б) нашлось (v).

    Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.

    12 задание ЕГЭ по информатике

    Какая строка получится в результате применения приведенной ниже программы к строке, состоящей из 88 идущих подряд цифр 4? В ответе запишите полученную строку.

    12 задание ЕГЭ по информатике

    Аналитическое решение

    Алгоритм сначала заменяет в цепочке цифр все четверки на единицы. Потом начинает заменять назад единицы на четверки, но как только в цепочке образуются 3 четверки, алгоритм заменяет их на единицу. Порядок замены имеет значение при поиске ответа, поэтому его нужно обязательно учитывать. Также важно, что замена выполняется всегда в начале цепочки.

    Сначала уберем по возможности все четверки из цепочки.

    88 / 3 = 29 и 1 в остатке. 

    Получается, что из цепочки уйдет 29 блоков по 3 четверки и образуется 29 единиц, 1 четверка останется в цепочке в самом конце.

    Теперь будем последовательно убирать единицы из цепочки.

    29 “1” + 1 “4”

    1 “4” + 27 “1” + 1 “4”

    2 “4” + 25 “1” + 1 “4”

    3 “4” + 23 “1” + 1 “4”

    24 “1” + 1 “4”

    Как только в цепочке появились 3 четверки, алгоритм заменил их назад на единицу. Суммарно из цепочки ушло 5 единиц. Это действие будет повторяться циклически, поэтому можно посчитать, сколько блоков по 5 единиц уйдет из цепочки.

    29 / 5 = 5 и 4 в остатке

    Получается, что в цепочке останется 4 единицы и 1 четверка.

    11114 → 4114 → 444 → 1

    В итоге в цепочке останется только единица.

    Решение с помощью компьютера 

    В самом задании у нас уже написана программа. Остается перевести ее на конкретный язык программирования. Напишем программу на Python.

    Она будет выглядеть следующим образом:

    12 задание ЕГЭ по информатике

    Создаем строку, содержащую 88 четверок. Далее запускаем цикл, который будет проверять, есть ли в строке 3 четверки или 2 единицы. Пропиваем условие и замену в строке. Важно в методе replace() указать третий параметр, который отмечает, сколько замен нужно выполнить. По умолчанию replace() сразу заменит все цифры в строке, а нам нужно выполнять замены по одной.

    При запуске данной программы мы также получим ответ 1.

    Ответ: 1

    Пример 2 (Редактор)

    Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.

    А)  заменить (v, w).

    Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150.

    Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.

    Б)     нашлось (v).

    Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.

    На вход приведенной ниже программе поступает строка, начинающаяся с символа «>», а затем содержащая 25 цифр 1, 45 цифр 2 и 10 цифр 3, расположенных в произвольном порядке.

    Определите сумму числовых значений цифр строки, получившейся в результате выполнения программы.

    Так, например, если результат работы программы представлял бы собой строку, состоящую из 50 цифр 4, то верным ответом было бы число 200.

    12 задание ЕГЭ по информатике

    Аналитическое решение 

    Цифры 1, 2 и 3 находятся в строке в произвольном порядке. Все, что нам нужно сделать, чтобы получить ответ — это понять, сколько цифр образовалось в результате замен. 

    Каждую единицу алгоритм заменит на тройку. Если изначально было 25 единиц, то в результате замен образуется 25 троек, и их сумма будет равна 25 * 3 = 75.

    Каждую двойку алгоритм заменит на 2 единицы. Изначально было 45 двоек, значит, в результате замен образуется 90 единиц. Их сумма будет равна 90.

    Каждую тройку алгоритм заменит на 2 тройки. Было 10 троек, станет 20. Сумма составит 20 * 3 = 60.

    Итоговая сумма всех цифр цепочки будет равна 75 + 90 + 60 = 225.

    Решение с помощью компьютера

    Перенесем алгоритм на язык программирования Python.

    Получаем следующую программу:

    Сначала мы задали строку, содержащую знак “>” и нужное количество всех цифр. Далее в цикле проверяем наличие знака “>” и цифр и выполняем замену. Как только программа вышла из цикла, считаем количество единиц, двоек и троек в строке — и находим сумму. При запуске программы также получается ответ 225.

    В данном задании написание программы может занять больше времени, чем аналитическое решение. Поэтому всегда оценивайте временные затраты на написание кода.

    Ответ: 225

    Робот — как решать?

    Второй прототип, который включает в себя 12 задание ЕГЭ по информатике — Робот. Этот прототип точно придётся решать аналитически, поэтому давайте разбираться, как сделать это с минимальными затратами времени.

    Пример 3 (Робот)

    Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости, включает в себя 4 команды-приказа и 4 команды проверки условия. 

    Команды-приказы: вверх, вниз, влево, вправо

    При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →.

    Если РОБОТ начнёт движение в сторону находящейся рядом с ним стены, то он разрушится, и программа прервется.

    Другие 4 команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ: сверху свободно, снизу свободно, слева свободно, справа свободно

    Цикл

    ПОКА < условие > команда

    Выполняется, пока условие истинно, иначе происходит переход на следующую строку.

    Если РОБОТ начнет движение в сторону стены, то он разрушится, и программа прервется. 

    Сколько клеток лабиринта соответствуют требованию, что, выполнив предложенную программу, РОБОТ уцелеет и остановится в той же клетке, с которой он начал движение?

    НАЧАЛО

    ПОКА < снизу свободно > вправо

    ПОКА < справа свободно > вверх

    ПОКА < сверху свободно > влево

    ПОКА < слева свободно > вниз

    КОНЕЦ

    12 задание ЕГЭ по информатике

    Решение

    Чтобы не проверять все 36 клеток плоскости, нужно проанализировать программу. В алгоритме 4 цикла, но нам важен только последний. Робот будет выполнять действия и остановится только в той клетке плоскости, где слева есть стена, так как в последнем цикле мы проверяем именно это условие. Поэтому необходимо проверить только те клетки, где слева есть стена. В остальных клетках плоскости Робот просто не сможет остановиться, поэтому и начинать движение из них мы тоже не будем.

    12 задание ЕГЭ по информатике

    Проверяем по алгоритму 12 отмеченных клеток. 

    Из всех отмеченных клеток нам подойдет только клетка В5. Если начать движение из нее, Робот вернется в эту же точку. Остальные клетки не подойдут, так как Робот либо разобьется, либо остановится в другой клетке.

    Ответ: 1

    Прототип Чертежник — как решать?

    Последний прототип, который составители включили в 12 задание ЕГЭ по информатике — это Чертежник. Здесь при решении важно правильно составить систему уравнений и найти наибольший/наименьший делитель двух чисел. Посмотрим, как это сделать.

    Пример 4 (Чертежник)

    Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду сместиться на (a, b), где a, b – целые числа. Эта команда перемещает Чертёжника из точки с координатами (x, y) в точку с координатами (x + a, y + b).

    Например, если Чертёжник находится в точке с координатами (4, 2), то команда сместиться на (2, −3) переместит Чертёжника в точку (6, −1).

    Цикл

    ПОВТОРИ число РАЗ

    последовательность команд

    КОНЕЦ ПОВТОРИ

    означает, что последовательность команд будет выполнена указанное число раз (число должно быть натуральным).

    Чертёжнику был дан для исполнения следующий алгоритм (количество повторений и величины смещения в первой из повторяемых команд неизвестны):

    В результате выполнения этого алгоритма Чертёжник возвращается в исходную точку. Какое наибольшее число повторений могло быть указано в конструкции «ПОВТОРИ … РАЗ»?

    Решение

    Чтобы решить это задание, необходимо обозначить неизвестными пропуски в алгоритме.

    12 задание ЕГЭ по информатике

    Далее составим систему уравнений. Нам известно, как перемещался Чертежник, и сказано, что он вернулся в начальную точку. Получается, его перемещение равно 0.

    Теперь мы можем найти n — наибольшее количество повторений цикла. Число n должно быть делителем как 24, так и 16, то есть нам нужно найти НОД(24, 16). Он равен 8. Это и будет ответом к заданию.

    Ответ: 8

    Что нужно запомнить?

    1. Если вам попадется Редактор, можете написать программу, которая найдет ответ вместо вас. Но всегда рассчитывайте, что будет рациональнее: аналитическое решение или компьютерное. Если останется время, можно проверить себя вторым способом.
    2. Решая задание с Роботом, не нужно проверять все клетки — это долго. Проанализируйте алгоритм и проверяйте только те клетки, которые действительно могут подойти под условия.
    3. Чтобы разобраться с Чертежником, внимательно составляйте систему уравнений. Ищите НОД, если нужно найти наибольшее количество повторений цикла. 
    4. Если в конце экзамена осталось время, вернитесь к заданию и проверьте его — ребята часто теряют баллы из-за невнимательности. Особенно рекомендую перепроверить Робота — решите его заново. 

    Теперь вы знаете, как решать 12 задание ЕГЭ по информатике! Обязательно прочитайте наш гайд по этому экзамену, если хотите разобраться с остальными темами и заданиями. Там вы найдете структуру экзамена, актуальные прототипы, тематические блоки и лайфхаки от наших преподавателей. Желаем удачи в подготовке 🙂

    ЕГЭ – 2021, задание 5, часть 2. Элементы теории алгоритмов: бит четности и др.

    При решении заданий 5 ЕГЭ-2021, часть 2 рассматриваются несколько типов задач на алгоритмизацию. При этом нужно учесть,, что алгоритм — это четкий порядок действий, подлежащих выполнению, то есть при решении задач на алгоритмизацию следует внимательно читать условие задачи и точно, аккуратно и без спешки (в этом залог быстрого и точного решения задачи!) выполнять описанные в нем действия.

    При этом обратим внимание, что одни и те же действия в разных задачах могут описываться разными условиями, например:

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

    — «остаток от деления суммы (количества единиц) на два», «бит чётности», «четное число или нет» — в результате проверки всех этих условий проверяется остаток от деления числа на 2: по умолчанию это ноль для четного числа и единица — для нечетного. Но в условии задач этот результат может меняться, поэтому следует точно выполнять действия, заданные в алгоритме!

    Следует также внимательно смотреть, какое из чисел – N или R – следует искать в данной задаче.

    Пример 1 (ДЕМО – 2021)

    На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.

    1. Строится двоичная запись числа N.

    2. К этой записи дописываются справа ещё два разряда по следующему правилу:

    1. складываются все цифры двоичной записи числа N, и остаток от деления суммы на 2 дописывается в конец числа (справа). Например, запись 11100 преобразуется в запись 111001;

    2. над этой записью производятся те же действия – справа дописывается остаток от деления суммы её цифр на 2.

    Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R. Укажите такое наименьшее число N, для которого результат работы данного алгоритма больше числа 77. В ответе это число запишите в десятичной системе счисления.

    Решение:

    Так как в задании указан результат работы алгоритма, то выполняем действия строго по алгоритму, но в обратную сторону:

    1. Переведем в двоичную систему первое число, удовлетворяющее условию задачи (наименьшее число R, которое больше числа 77) — число 78:

    78 = 26 + 23 + 22 + 21 = 10011102

    1. Для проверки, может ли данное число R быть результатом работы алгоритма, отделяем от него справа две последние цифры (которые являются результатом выполнения алгоритма) и проверяем исходное число до работы алгоритма

    N = 100112 и цифры 10, которые получены в результате двух следующих шагов выполнения алгоритма:

    1. 1 – верно, так как количество единиц в числе N равно трем;

    2. 0 – верно, так как теперь в полученном результате уже 4 единицы.

    Так как условия выполнения алгоритма совпадают с полученным результатом, то искомое число N = 100112 и будет искомым. Переводим его в десятичную систему счисления и получаем ответ:

    N = 100112 = 20 + 21 + 02 + 03 + 24 = 1 + 2 + 16 = 19.

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

    Ответ: 19

    Пример 2 (1426)

    На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.

    1. Строится двоичная запись числа N.

    2. К этой записи дописываются справа ещё два разряда по следующему правилу:

    1. в конец числа (справа) дописывается 1, если число единиц в двоичной записи числа чётно, и 0, если число единиц в двоичной записи числа нечётно;

    2. к этой записи справа дописывается остаток от деления количества единиц на 2.

    Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R.
    Укажите минимальное число R, которое превышает 31 и может являться результатом работы алгоритма. В ответе это число запишите в десятичной системе.

    Решение:

    Так как в задании указан результат работы алгоритма, то выполняем действия строго по алгоритму, но в обратную сторону:

    1. Переведем в двоичную систему первое число, удовлетворяющее условию задачи (наименьшее число R, которое больше числа 31) — число 32:

    32 = 25 = 1000002

    1. Для проверки, может ли данное число R быть результатом работы алгоритма, отделяем от него справа две последние цифры (которые являются результатом выполнения алгоритма) и проверяем исходное число до работы алгоритма N = 10002 и цифры 00, которые получены в результате двух следующих шагов выполнения алгоритма:

    1. 0 – верно, так как количество единиц в числе N нечетно;

    2. 0 – неверно, так как остаток от деления количества единиц на 2 равен 1.

    Так как условия выполнения алгоритма НЕ совпадают с полученным результатом, то берем следующее возможное число искомое число R = 33 и проверяем его.

    1. Переведем число 33 в двоичную систему счисления: 33 = 25 = 1000012

    2. Для проверки, может ли данное число R быть результатом работы алгоритма,

    отделяем от него справа две последние цифры (которые являются результатом

    выполнения алгоритма) и проверяем исходное число до работы алгоритма N = 10002

    и цифры 01, которые получены в результате двух следующих шагов выполнения

    алгоритма:

    1. 0 – верно, так как количество единиц в числе N нечетно;

    2. 1 – верно, так как результат от деления количества единиц на 2 равен 1.

    Так как условия выполнения алгоритма совпадают с полученным результатом, то искомое число N = 110002 и будет искомым. Переводим его в десятичную систему счисления и получаем ответ:

    N = 1100112 = 20 + 21 + 02 + 03 + 24 = 1 + 2 + 16 = 19.

    Ответ: 33

    Пример 3 (1431)

    На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.

    1. Строится двоичная запись числа N.

    2. К этой записи дописывается справа бит чётности: 0, если в двоичном коде числа N было чётное число единиц, и 1, если нечётное.

    3. К полученному результату дописывается ещё один бит чётности.

    Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R.

    Укажите минимальное число N, после обработки которого с помощью этого алгоритма получается число, большее, чем 96. В ответе это число запишите в десятичной системе.

    Решение 1 – короткое:

    Так как в задании указан результат работы алгоритма, то выполняем действия строго по алгоритму, но в обратную сторону:

    Переведем в двоичную систему первое число, удовлетворяющее условию задачи (наименьшее число R, которое больше числа 96) — число 97:

    97 = 26 + 25 + 20 = 11000012

    Для проверки, может ли данное число R быть результатом работы алгоритма, отделяем от него справа две последние цифры (которые являются результатом выполнения алгоритма) и получаем, что для числа N = 110002 последними цифрами должны быть 00, но тогда число R = 11000002 = 96 не удовлетворяет условию задачи.

    Числа с двумя последними цифрами 01 (97 = 11000012), 10 (98 = 11000102) и 11 (99=11000112) также не подходят. Это значит, что нужно увеличивать само число N, тогда получаем N = 110012 и в результате работы алгоритма получим R = 11001102 = 102.

    Тогда искомое число N = 110012 = 25

    Ответ: 25

    Решение 2 – длинное (обычное):

    Так как в задании указан результат работы алгоритма, то выполняем действия строго по алгоритму, но в обратную сторону:

    1. Переведем в двоичную систему первое число, удовлетворяющее условию задачи (наименьшее число R, которое больше числа 96) — число 97:

    97 = 26 + 25 + 20 = 11000012

    Для проверки, может ли данное число R быть результатом работы алгоритма, отделяем от него справа две последние цифры (которые являются результатом выполнения алгоритма) и проверяем исходное число до работы алгоритма N = 110002 и цифры 01, которые получены в результате двух следующих шагов выполнения алгоритма:

    1. 0 – верно, так как количество единиц в числе N четно;

    2. 1 –неверно, так как количество единиц в числе N четно.

    Так как условия выполнения алгоритма НЕ совпадают с полученным результатом, то берем следующее возможное число R = 98 и проверяем его.

    1. Переведем в двоичную систему число 98:

    98 = 26 + 25 + 21 = 11000102

    Для проверки, может ли данное число R быть результатом работы алгоритма, отделяем от него справа две последние цифры (которые являются результатом выполнения алгоритма) и проверяем исходное число до работы алгоритма N = 110002 и цифры 10, которые получены в результате двух следующих шагов выполнения алгоритма:

    1. 1 – неверно, так как количество единиц в числе N четно;

    2. 0 – неверно, так как количество единиц в числе N нечетно.

    Так как условия выполнения алгоритма опять НЕ совпадают с полученным результатом, то берем следующее возможное число R = 99 и проверяем его.

    1. Переведем в двоичную систему число 99:

    1. = 26 + 25 + 21 + 20 = 11000112

    Для проверки, может ли данное число R быть результатом работы алгоритма, отделяем от него справа две последние цифры (которые являются результатом выполнения алгоритма) и проверяем исходное число до работы алгоритма N = 110002 и цифры 11, которые получены в результате двух следующих шагов выполнения алгоритма:

    1. 1 – неверно, так как количество единиц в числе N четно

    2. 1–верно, так как количество единиц в числе N нечетно.

    Так как условия выполнения алгоритма опять НЕ совпадают с полученным результатом, то берем следующее возможное число R = 100 и проверяем его.

    1. Переведем в двоичную систему число100:

    1. = 26 + 25 + 22 = 11001002

    Для проверки, может ли данное число R быть результатом работы алгоритма, отделяем от него справа две последние цифры (которые являются результатом выполнения алгоритма) и проверяем исходное число до работы алгоритма N = 110012 и цифры 00, которые получены в результате двух следующих шагов выполнения алгоритма:

    1. 0 – неверно, так как количество единиц в числе N нечетно

    2. 0 – неверно, так как количество единиц в числе N нечетно.

    Так как условия выполнения алгоритма опять НЕ совпадают с полученным результатом, то берем следующее возможное число R = 101 и проверяем его.

    1. Переведем в двоичную систему число 101:

    1. = 26 + 25 + 22 + 20 = 11001012

    Для проверки, может ли данное число R быть результатом работы алгоритма, отделяем от него справа две последние цифры (которые являются результатом выполнения алгоритма) и проверяем исходное число до работы алгоритма N = 110012 и цифры 01, которые получены в результате двух следующих шагов выполнения алгоритма:

    1. 0 – неверно, так как количество единиц в числе N нечетно

    2. 1 – верно, так как количество единиц в числе N нечетно.

    Так как условия выполнения алгоритма опять НЕ совпадают с полученным результатом, то берем следующее возможное число R = 102 и проверяем его.

    1. Переведем в двоичную систему число 102:

    1. = 26 + 25 + 22 + 21 = 11001102

    Для проверки, может ли данное число R быть результатом работы алгоритма, отделяем от него справа две последние цифры (которые являются результатом выполнения алгоритма) и проверяем исходное число до работы алгоритма N = 110012 и цифры 10, которые получены в результате двух следующих шагов выполнения алгоритма:

    1. 1 – верно, так как количество единиц в числе N нечетно

    2. 0 – верно, так как количество единиц в числе N четно.

    Так как оба условия выполнения алгоритма совпадают с полученным результатом, то искомое число N = 100112 и будет искомым. Переводим его в десятичную систему счисления и получаем ответ:

    N = 110012 = 20 + 01 + 02 + 23 + 24 = 1 + 8 + 16 = 25.

    Ответ: 25

    Пример 4 (4796)

    На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
    1) Строится двоичная запись числа N.
    2) Складываются все цифры двоичной записи числа. Если сумма четная, то в конец числа (справа) дописывается 1, а если нечетная, то дописывается 0. Например, запись числа 10 преобразуется в запись 100;
    3) К полученному результату применяется еще раз пункт 2 этого алгоритма.
    Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R. Укажите количество чисел R, которые могут быть получены в результате работы этого алгоритма, и лежат в диапазоне 16 ≤ R ≤ 32.

    Решение:

    Так как в задании указан результат работы алгоритма, то выполняем действия строго по алгоритму, но в обратную сторону.

    Переведем в двоичную систему первое число, удовлетворяющее условию задачи границы диапазона возможных чисел R:

    Rmin = 24 = 100002

    Rmax = 25 = 1000002

    Соответственно получаем Nmin = 22 = 1002 и Nmax = 23 = 10002.

    Далее берем все возможные числа N внутри данного диапазона (возможны только три варианта – 101, 110 и 111) и проверяем результат работы алгоритма над ними:

    при N = 1012 возможно только одно R = 101102 = 22

    при N = 1102 возможно только одно R = 110102 = 26

    при N = 1112 возможно только одно R = 111002 = 28

    Тогда всего получаем 5 подходящих чисел.

    Ответ: 5

    Пример 5 (4846).

    Автомат обрабатывает натуральное число N
    1) Строится восьмибитная двоичная запись числа N–1.
    2) Инвертируются разряды исходного числа (0 заменяется на 1, 1 на 0).
    3) Полученное число переводится в десятичную систему счисления.
    Для какого числа N результат работы алгоритма равен 113?

    Решение:

    Переводим число 113 в двоичную систему счисления и получаем

    N — 1 = 26 + 25 + 24 + 20 = 11100012

    Дополняем его до восьми бит и инвертируем:

    N — 1 = 011100012 = 100011102 = 21 + 22 + 23+ 27 = 142, тогда N = 142 + 1= 143.

    Ответ: 143

    Понравилась статья? Поделить с друзьями:
  • Алгоритм решения экономических задач егэ математика профиль
  • Алгоритм решения неравенств егэ профиль математика
  • Алгоритм решения задач физика егэ
  • Алгоритм решения задач с параметрами егэ
  • Алгоритм решения задач по физике егэ 2 часть