Вопрос:

7. У исполнителя Калькулятор две команды, которым присвоены номера: 1. прибавь 1, 2. умножь на 5. Программа для этого исполнителя — это последовательность номеров команд. Например, программа 121 задаёт такую последовательность команд: прибавь 1, умножить 5, прибавь 1. Эта программа преобразует, например, число 7 в число 41. Запишите в ответе программу, которая содержит не более шести команд и переводит число 3 в число 506.

Ответ:

Решение:

Нам нужно преобразовать число 3 в число 506, используя не более 6 команд.

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

  1. Начнем с числа 3.
  2. Применим команду 2 (умножить на 5): \( 3 \times 5 = 15 \). Программа: 2.
  3. Применим команду 2 еще раз: \( 15 \times 5 = 75 \). Программа: 22.
  4. Применим команду 2 еще раз: \( 75 \times 5 = 375 \). Программа: 222.
  5. Теперь нам нужно получить \( 506 - 375 = 131 \) с помощью команды 1 (прибавить 1).
  6. Применим команду 1 сто тридцать один раз. Но это слишком много команд.

Попробуем другой подход. Попробуем разбить 506 на множители, связанные с командой 2.

\( 506 \div 5 \) не делится нацело. \( 506 \div 2 \approx 253 \) (не подходит, т.к. команда 2 - умножить на 5).

Попробуем разбить 506 на части:

  • \( 506 = 5 \times 101 + 1 \)
  • \( 101 = 5 \times 20 + 1 \)
  • \( 20 = 5 \times 4 + 0 \) (не можем использовать 0)

Попробуем прийти к числу, которое при умножении на 5 и добавлении 1 даст 506.

\( (x \times 5) + 1 = 506 \) \( \Rightarrow x \times 5 = 505 \) \( \Rightarrow x = 101 \)

Теперь нужно получить 101 из 3. \( (y \times 5) + 1 = 101 \) \( \Rightarrow y \times 5 = 100 \) \( \Rightarrow y = 20 \)

Теперь нужно получить 20 из 3. \( (z \times 5) + 1 = 20 \) \( \Rightarrow z \times 5 = 19 \) (не делится нацело).

Попробуем наоборот: \( 506 = (x + 1) \times 5 \) - не подходит.

\( 506 = (x \times 5) + 1 \). Это было \( x=101 \). Мы получили \( 101 \) из 3. \( 101 \) из 3. \( (y+1) \times 5 = 101 \) \( \Rightarrow y+1 = 20.2 \).

Попробуем другой вариант:

\( 3 \xrightarrow{+1} 4 \rightarrow \times 5 = 20 \)

\( 20 \rightarrow 20 \times 5 = 100 \)

\( 100 \rightarrow 100 \times 5 = 500 \)

\( 500 \rightarrow 500 + 1 = 501 \) (Программа: 12221) - 5 команд, но получили 501.

Попробуем:

\( 3 \xrightarrow{\times 5} 15 \xrightarrow{\times 5} 75 \xrightarrow{\times 5} 375 \xrightarrow{+1} 376 \xrightarrow{+1} 377 \)

Попробуем пойти от конца:

\( 506 \)

  • \( 506 - 1 = 505 \). Программа: ...1.
  • \( 505 \div 5 = 101 \). Программа: ...21.
  • \( 101 - 1 = 100 \). Программа: ...121.
  • \( 100 \div 5 = 20 \). Программа: ...2121.
  • \( 20 - 1 = 19 \). Программа: ...12121. (не подходит)

Попробуем:

  • \( 506 - 1 = 505 \). Программа: ...1.
  • \( 505 \div 5 = 101 \). Программа: ...21.
  • \( 101 \times 5 = 505 \) (не подходит).

Попробуем:

  1. \( 3 \xrightarrow{\times 5} 15 \) (Программа: 2)
  2. \( 15 \xrightarrow{\times 5} 75 \) (Программа: 22)
  3. \( 75 \xrightarrow{+1} 76 \) (Программа: 122)
  4. \( 76 \xrightarrow{\times 5} 380 \) (Программа: 2122)
  5. \( 380 + 1 = 381 \) (Программа: 12122)

Давайте попробуем найти программу, которая даст 506.

\( 3 \rightarrow \dots \rightarrow 506 \)

Заметим, что \( 506 = 505 + 1 = 5 \times 101 + 1 \).

Теперь нужно получить \( 101 \) из 3. \( 101 = 100 + 1 = 5 \times 20 + 1 \).

Теперь нужно получить \( 20 \) из 3. \( 20 = 3 \times 5 + 5 \) (не подходит).

\( 20 \)

\( 3 \xrightarrow{+1} 4 \rightarrow \times 5 = 20 \). Программа: 12. Получили 20.

Теперь из 20 нужно получить 101.

\( 20 \xrightarrow{\times 5} 100 \xrightarrow{+1} 101 \). Программа: 121. Получили 101.

Теперь из 101 нужно получить 506.

\( 101 \xrightarrow{\times 5} 505 \xrightarrow{+1} 506 \). Программа: 121. Получили 506.

Соединим все части:

Сначала получили 20 из 3: программа 12.

Затем из 20 получили 101: команда 121.

Затем из 101 получили 506: команда 121.

Объединяем команды:

12 (чтобы получить 20 из 3) + 121 (чтобы получить 101 из 20) + 121 (чтобы получить 506 из 101)

Программа: 1212121. Всего 7 команд. Слишком много.

Давайте перестроим.

\( 3 \xrightarrow{1} 4 \xrightarrow{2} 20 \xrightarrow{2} 100 \xrightarrow{2} 500 \xrightarrow{1} 501 \)

Неверно.

Попробуем:

\( 3 \xrightarrow{2} 15 \xrightarrow{2} 75 \xrightarrow{2} 375 \xrightarrow{1} 376 \xrightarrow{1} 377 \xrightarrow{1} 378 \)

Попробуем:

\( 3 \xrightarrow{1} 4 \xrightarrow{1} 5 \xrightarrow{2} 25 \xrightarrow{2} 125 \xrightarrow{2} 625 \) (слишком много)

Нам нужно получить 506. Заметим, что \( 506 \approx 5 \times 100 \).

\( 3 \xrightarrow{1} 4 \xrightarrow{2} 20 \xrightarrow{2} 100 \). Программа: 122. Получили 100.

\( 100 \xrightarrow{\times 5} 500 \xrightarrow{+1} 501 \). Программа: 12221. Получили 501.

Мы получили 501, используя 5 команд. Нам нужно 506.

Попробуем:

\( 3 \xrightarrow{2} 15 \xrightarrow{2} 75 \xrightarrow{2} 375 \). Программа: 222. Получили 375.

\( 375 \xrightarrow{+1} 376 \xrightarrow{+1} 377 \xrightarrow{+1} 378 \)

Попробуем:

\( 506 = 5 \times 100 + 6 \)

\( 506 = 5 \times 101 + 1 \). Нам нужно получить 101 из 3.

\( 3 \rightarrow \dots \rightarrow 101 \)

\( 101 = 5 \times 20 + 1 \). Нам нужно получить 20 из 3.

\( 3 \xrightarrow{1} 4 \xrightarrow{2} 20 \). Программа: 12.

Теперь из 20 получаем 101:

\( 20 \xrightarrow{1} 21 \xrightarrow{2} 105 \) (не подходит)

\( 20 \xrightarrow{2} 100 \xrightarrow{1} 101 \). Программа: 121.

Теперь из 101 получаем 506:

\( 101 \xrightarrow{1} 102 \xrightarrow{2} 510 \) (не подходит)

\( 101 \xrightarrow{2} 505 \xrightarrow{1} 506 \). Программа: 121.

Соберем всю программу:

1. Преобразовать 3 в 20: команда 12.

2. Преобразовать 20 в 101: команда 121.

3. Преобразовать 101 в 506: команда 121.

Объединяем: 12 (для 3->20) + 121 (для 20->101) + 121 (для 101->506) = 1212121. Это 7 команд.

Пересмотрим.

\( 506 = 5 \times 101 + 1 \)

\( 101 = 5 \times 20 + 1 \)

\( 20 = 5 \times 4 + 0 \)

\( 3 \xrightarrow{1} 4 \xrightarrow{2} 20 \). Программа: 12. (6 команд максимум, получили 20).

\( 20 \xrightarrow{2} 100 \xrightarrow{1} 101 \). Программа: 121.

\( 101 \xrightarrow{2} 505 \xrightarrow{1} 506 \). Программа: 121.

Программа 1212121. 7 команд.

Попробуем:

\( 3 \xrightarrow{2} 15 \xrightarrow{2} 75 \xrightarrow{1} 76 \xrightarrow{2} 380 \)

\( 3 \xrightarrow{1} 4 \xrightarrow{2} 20 \xrightarrow{2} 100 \xrightarrow{1} 101 \). Программа 1221. Получили 101. 4 команды.

Теперь из 101 нужно получить 506.

\( 101 \xrightarrow{2} 505 \xrightarrow{1} 506 \). Программа 121.

Общая программа: 1221 (для 3->101) + 121 (для 101->506) = 1221121. 7 команд.

Попробуем:

\( 3 \xrightarrow{1} 4 \xrightarrow{2} 20 \)

\( 20 \xrightarrow{2} 100 \)

\( 100 \xrightarrow{2} 500 \)

\( 500 \xrightarrow{1} 501 \)

\( 501 \xrightarrow{1} 502 \)

\( 502 \xrightarrow{1} 503 \)

\( 503 \xrightarrow{1} 504 \)

\( 504 \xrightarrow{1} 505 \)

\( 505 \xrightarrow{1} 506 \)

Программа: 1222111111. 10 команд.

Попробуем:

\( 3 \xrightarrow{2} 15 \xrightarrow{2} 75 \xrightarrow{1} 76 \xrightarrow{2} 380 \)

\( 3 \xrightarrow{2} 15 \xrightarrow{2} 75 \)

\( 75 \xrightarrow{2} 375 \)

\( 375 \xrightarrow{1} 376 \)

\( 376 \xrightarrow{1} 377 \)

\( 377 \xrightarrow{1} 378 \)

\( 378 \xrightarrow{1} 379 \)

\( 379 \xrightarrow{1} 380 \)

\( 3 \rightarrow 15 \rightarrow 75 \rightarrow 375 \rightarrow 376 \rightarrow 377 \rightarrow 378 \)

\( 506 \)

\( 506 - 1 = 505 \) (1)

\( 505 / 5 = 101 \) (2)

\( 101 - 1 = 100 \) (1)

\( 100 / 5 = 20 \) (2)

\( 20 - 1 = 19 \) (1)

\( 19 / 5 \)

\( 3 \rightarrow 4 \rightarrow 20 \rightarrow 100 \rightarrow 500 \rightarrow 501 \)

\( 3 \xrightarrow{1} 4 \xrightarrow{2} 20 \xrightarrow{2} 100 \xrightarrow{2} 500 \xrightarrow{1} 501 \). 5 команд.

\( 506 = 5 \times 101 + 1 \)

\( 101 = 5 \times 20 + 1 \)

\( 20 = 5 \times 4 + 0 \)

\( 3 \xrightarrow{1} 4 \)

\( 4 \xrightarrow{2} 20 \)

\( 20 \xrightarrow{2} 100 \)

\( 100 \xrightarrow{1} 101 \)

\( 101 \xrightarrow{2} 505 \)

\( 505 \xrightarrow{1} 506 \)

Программа: 122121. 6 команд.

Ответ: 122121