Сколько есть программ которые число 1 преобразуют в число 20

Еще один способ решения данного задания – написание программы.

На примере первой задачи посмотрим несколько способов решения.

У исполнителя Утроитель две команды, которым присвоены номера:

Сколько есть программ, которые число 1 преобразуют в число 20?

В решении электронными таблицами мы получили формулы для расчетов:

Если число n НЕ делится на 3, количество программ для него

Если же число делится на 3, то

их мы и будем использовать в данном задании.

1 способ решения. Заполнение списка.

  • работа со списками
  • условный оператор
  • цикл for

a = [0] * 21 # создаем список из такого количества

# элементов, чтобы нам хватило индексов от 0 до 20

a[1] = 1 # заполняем элемент с индексом стартового числа

for i in range(2, 20 + 1): # перебираем остальные числа от 2 до 20

if i % 3 == 0: # если кратно 3, добавляем предыдущее и / 3

a[i] = a[i – 1] + a[ i // 3]

else: # если не кратно 3, добавляем только предыдущее

Значение числа 20 — смысл числа 20 — число 20 в духовной нумерологии

print(a[20]) # выводим на экран значение конечного числа

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

2 вариант решения без инверсии команд

# +1 *3 1->20 a = [0] * 100 # создаем список из такого количества # элементов, чтобы нам хватило индексов от 0 до 20 * 3 (я взял сильно с запасом) a[20] = 1 # заполняем элемент с индексом стартового числа for i in range(19, 0, -1): # перебираем остальные числа от 2 до 20 a[i] = a[i + 1] + a[i * 3] print(a[1]) # выводим на экран значение конечного числа

Читайте также:
Можно ли устанавливать программы на телевизор LG

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

3 вариант решения. Рекурсивная функция

# +1 *3 1->20 def f(n): if n > 20: # перепрыгнули 20 return 0 if n == 20: # попали в 20 return 1 return f(n + 1) + f(n * 3) # число до 20
print(f(1))

Задача 2. Все варианты решения

Исполнитель Июнь15 преобразует число на экране. У исполнителя есть две команды, которым присвоены номера:

2. Умножить на 2

Первая команда увеличивает число на экране на 1, вторая умножает его на 2. Программа для исполнителя Июнь15 – это последовательность команд. Сколько существует программ, для которых при исходном числе 2 результатом является число 40 и при этом траектория вычислений содержит число 20 и не содержит число 8?

Разобьем решение со списком на два этапа

# +1 *2 2->40 v20 x8 a = [0] * 100
a[20] = 1 # заполняем элемент с индексом стартового числа a[40] = 1 for i in range(19, 2 — 1, -1): if i != 8: a[i] = a[i + 1] + a[i * 2] for i in range(39, 20 — 1, -1): a[i] = a[i + 1] + a[i * 2] print(a[2] * a[20]) # выводим на экран значение конечного числа

Усовершенствуем рекурсивный алгоритм: добавим в функцию еще один параметр. Теперь их два: из какого числа считаем и в какое.

# +1 *2 2->40 v20 x8 def f(n, finish): if n == finish: return 1 if n > finish or n == 8: return 0 return f(n + 1, finish) + f(n * 2, finish) print(f(2, 20) * f(20, 40))

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

Информатика ЕГЭ. № 23. Количество программ с обязательным и избегаемым этапами

Читайте также:
Как защитить диск с от установки программ

Следует рассматривать такой вариант решения как средство для проверки ручного решения.

Источник: andrewrogov.ru

Сколько есть программ которые число 1 преобразуют в число 20

Задания ЕГЭ по номерам:

  • 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 Программирование: разработка программы

Задание 3. Тип заданий 22: количество программ.

Поделиться:

Комментарии ( 0 )

Нет комментариев. Ваш будет первым!

Источник: infbu.ru

Задача 16414 Исполнитель Плюс преобразует число на.

Исполнитель Плюс преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 2
2. Прибавить 5
Первая команда увеличивает число на экране на 2, вторая увеличивает это
число на 5. Программа для исполнителя Плюс – это последовательность
команд.
Сколько существует программ, которые число 1 преобразуют в число 20?
КИМ ЕГЭ 2017 (досрочный период)

информатика 10-11 класс 8381

Решение

Построим дерево игры и посчитаем количество веток

Ответ: 18

Источник: reshimvse.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru