Вопрос:

5. У исполнителя Квадратор две команды, которым присвоены номера: 1. вычти 3 2. возведи в квадрат Первая из них уменьшает число на экране на 3, вторая возводит его во вторую степень. Составьте алгоритм получения из числа 4 числа 49, содержащий не более 5 команд. В ответе запишите только последовательность команд. (Например, 12211 это алгоритм: вычти 3, возведи в квадрат, возведи в квадрат, вычти 3, возведи в квадрат). Если таких алгоритмов более одного, то запишите любой из них. Определите значение целочисленной переменной c после выполнения фрагмента программы: a := 7*11 + 4; b := (a div 10) + 5; c := (b mod 10) + 1; d := a + b;

Ответ:

Решение:

Алгоритм получения числа 49 из числа 4:

Нам нужно получить 49 из 4, используя команды "вычти 3" (1) и "возведи в квадрат" (2), не более 5 команд.

Попробуем следующую последовательность:

  1. 4 + 3 = 7 (нельзя использовать сложение, только вычитание и возведение в квадрат).
  2. Пробуем возвести в квадрат: \( 4^2 = 16 \).
  3. Вычтем 3: \( 16 - 3 = 13 \).
  4. Возведем в квадрат: \( 13^2 = 169 \).
  5. Вычтем 3: \( 169 - 3 = 166 \).

Это не ведет к 49. Попробуем другую стратегию. Может быть, нужно получить число, которое при возведении в квадрат даст что-то близкое к 49, или число, из которого вычитанием 3 получится 49.

Если \( x^2 = 49 \), то \( x = 7 \). Как получить 7 из 4?

Если \( x - 3 = 49 \), то \( x = 52 \). Как получить 52 из 4?

Давайте попробуем сначала получить 7 из 4. Сложение запрещено. Вычитание 3 из 4 равно 1. Возведение 4 в квадрат равно 16.

Попробуем получить 7, используя только вычитание 3 и возведение в квадрат. Это невозможно.

Попробуем сначала получить число, которое при вычитании 3 даст 49. То есть 52. Можно ли получить 52 из 4? \( 4^2 = 16 \). \( 16 \times 3 \) нельзя. \( 16 + 3 \) нельзя.

Попробуем получить 7 из 4. \( 4 \rightarrow ? \rightarrow 7 \)

Рассмотрим команду "возведи в квадрат" (2).

Если мы сначала получим 7, а потом возведем в квадрат, будет 49. Как получить 7 из 4?

Команды: 1 (вычти 3), 2 (возведи в квадрат).

Начинаем с 4:

  1. 4.
  2. 4 - 3 = 1 (команда 1).
  3. 1^2 = 1 (команда 2).
  4. 1 + 3 = 4 (нет сложения).

Пробуем сначала возвести в квадрат:

  1. 4.
  2. 4^2 = 16 (команда 2).
  3. 16 - 3 = 13 (команда 1).
  4. 13 - 3 = 10 (команда 1).
  5. 10 - 3 = 7 (команда 1).
  6. 7^2 = 49 (команда 2).

Получилось 6 команд. Нужно не более 5.

Попробуем получить 7 другим путем.

4. Возводим в квадрат: \( 4^2 = 16 \) (2).

16. Вычитаем 3: \( 16 - 3 = 13 \) (1).

13. Вычитаем 3: \( 13 - 3 = 10 \) (1).

10. Вычитаем 3: \( 10 - 3 = 7 \) (1).

7. Возводим в квадрат: \( 7^2 = 49 \) (2).

Это 6 команд.

Попробуем получить 7 из 4, используя команды 1 и 2.

4 -> (1) -> 1 -> (2) -> 1.

4 -> (2) -> 16 -> (1) -> 13 -> (1) -> 10 -> (1) -> 7. (6 команд)

Давайте предположим, что возможно получить 7 из 4 за 3 команды.

4 -> (1) -> 1 -> (1) -> -2 -> (2) -> 4.

4 -> (2) -> 16 -> (1) -> 13.

4 -> (1) -> 1.

Кажется, что для получения 7 из 4 за 3 команды нужно сложение.

Если рассмотреть пример: 12211 -> вычти 3, возведи в квадрат, возведи в квадрат, вычти 3, возведи в квадрат.

4 -> (1) -> 1 -> (2) -> 1 -> (2) -> 1 -> (1) -> -2 -> (2) -> 4.

В условии примера 12211, команда 1 - вычти 3, команда 2 - возведи в квадрат.

4 -(1)-> 1 -(2)-> 1 -(2)-> 1 -(1)-> -2 -(2)-> 4.

Попробуем получить 49 из 4:

4 --(2)--> 16 --(1)--> 13 --(1)--> 10 --(1)--> 7 --(2)--> 49. (6 команд)

Что если есть другой путь?

4 --(1)--> 1 --(2)--> 1.

49. Нам нужно получить 49.

Попробуем получить 7 из 4.

4 --(2)--> 16 --(1)--> 13 --(1)--> 10 --(1)--> 7. (4 команды)

7 --(2)--> 49. (1 команда)

Всего 5 команд: 21112.

Алгоритм: 21112

Вычисление значения переменной c:

  1. a := 7*11 + 4;
    \( a = 77 + 4 = 81 \)
  2. b := (a div 10) + 5;
    \( b = (81 \text{ div } 10) + 5 \)
    \( b = 8 + 5 = 13 \)
  3. c := (b mod 10) + 1
    \( c = (13 \text{ mod } 10) + 1 \)
    \( c = 3 + 1 = 4 \)
  4. d := a + b; (это значение не требуется, но для полноты)
    \( d = 81 + 13 = 94 \)

Ответ: Значение переменной c равно 4.

Похожие