23.03 Количество программ из A в B где траектория вычислений содержит число(-а)
Ошибка.
Попробуйте повторить позже
Исполнитель Калькулятор преобразует число, записанное на экране.
У исполнителя есть команды, которым присвоены номера:
- Прибавить
- Прибавить
- Умножить на
Первая команда увеличивает число на экране на , вторая — на
, третья — удваивает число на
экране. Программа для исполнителя Калькулятор — это последовательность команд.
Сколько существует программ, для которых при исходном числе результатом является число
и при этом троектория содержит числа
и
? Траектория вычислений программы — это
последовательность результатов выполнения всех команд программы. Например, для программы
при исходном числе
траектория будет состоять из чисел
,
,
.
Решение 1
a = [0] * 25 a[4] = 1 for i in range(5, 25): a[i] = a[i - 1] + a[i - 5] + a[i // 2] * (i % 2 == 0) if i == 11 or i == 17: for j in range(i): a[j] = 0 print(a[24])
Решение 2
Пусть — количество программ, которые число 4 преобразуют в число
. Тогда верно
следующее утверждение:
— если число не делится на 2.
— если число делится на 2.
Заполним таблицу по данным формулам до 11:
По условию траектория должна проходить через число 11, значит , так как
число 12 можно получить только из числа 11 (соблюдая траекторию). Заполним таблицу до
18:
Аналагично , так как число 19 можно получить только из 18, соблюдая траекторию.
Заполним таблицу до конца:
Отсюда получаем ответ: 72.
Ошибка.
Попробуйте повторить позже
Исполнитель Студент преобразует число, записанное на экране.
У исполнителя есть команды, которым присовены номера:
1. Прибавить 1,
2. Прибавить 3,
3. Умножить на 2.
Первая команда увеличивает число на экране на 1, вторая — на 3, третья — удваивает число на экране. Программа для исполнителя Студент — это последовательность команд.
Сколько существует программ, для которых при исходном числе 2 результатом является число 17 и при этом троектория содержит число 10? Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы 123 при исходном числе 7 траектория будет состоять из чисел 8, 11, 22.
Пусть — количество программ, которык число 2 преобразуют в число n. Тогда верно следующее
утверждение:
— если число не делится на 2.
— если число делится на 2.
Заполним таблицу по данным формулам до 10:
По условию сказано, что траектория должна проходить через число 10, значит , так как
число 11 мы можем получить (проходя через число 10) только командой 1. Заполним таблицу до
конца:
Отсюда получаем ответ — 243.
Ошибка.
Попробуйте повторить позже
Исполнитель РЫБИНСК преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 1,
2. Прибавить 2.
Первая команда увеличивает число на экране на 1, вторая увеличивает его на 2. Программа для исполнителя РЫБИНСК — это последовательность команд.
Сколько существует программ, для которых при исходном числе 1 результатом является число 14 и при этом траектория вычислений содержит число 9? Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 10, 11.
Пусть — количество программ, которые число 1 преобразуют в число n. Тогда верно следующее
утверждение:
Заполним таблицу по данной формуле до 9:
По формуле , но по условию дано, что траектория должна проходить через
число 9. Значит если мы будем проходить через 8, то условие будет не выполнено. Следовательно
.
Заполним таблицу до конца:
Отсюда получаем искомое количество программ — 272.
Ошибка.
Попробуйте повторить позже
Исполнитель преобразует число, записанное на экране.
У исполнителя есть команды, которым присвоены номера:
1. Прибавить 2,
2. Прибавить 3,
3. Умножить на 3
Первая команда увеличивает число на экране на 2, вторая — на 3, третья — утраивает число на экране. Программа для исполнителя — это последовательность команд.
Сколько существует программ, для которых при исходном числе 3 результатом является число 28 и при этом троектория содержит числа 12 и 18? Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 9, 12, 14.
Пусть — количество программ, которык число 3 преобразуют в число n. Тогда верно следующее
утверждение:
— если число не делится на 3.
— если число делится на 3.
Заполним таблицу по данным формулам до 12:
По условию дано, что траектория проходит через число 12. Значит . Продлим таблицу до
18:
По условию сказано, что траектория должна проходить через числа 12 и 18. следовательно
, так как число 19 нельзя получить напрямую из 12 или 18. Составим таблицу до
конца:
Отсюда получаем ответ — 84.
Ошибка.
Попробуйте повторить позже
Исполнитель преобразует число, записанное на экране.
У исполнителя есть команды, которым присвоены номера:
1. Прибавить 2,
2. Прибавить 3,
3. Умножить на 2,
4. Умножить на 3.
Первая команда увеличивает число на экране на 2, вторая – на 3, третья — удваивает число на экране, четвертая — утраивает число на экране. Программа для исполнителя — это последовательность команд.
Сколько существует программ, для которых при исходном числе 2 результатом является число 38 и при этом траектория содержит числа 14 и 29? Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы 132 при исходном числе 7 траектория будет состоять из чисел 9, 18, 21.
Пусть — количество программ, которые число 2 преобразует в число
. Тогда верно следующее
утверждение:
— если число не делится на 2 и на 3.
— если число делится на 2, но не делится на 3.
— если число делится на 3, но не делится на 2.
– если число делится и на 2, и на 3.
Заполним таблицу по данным формулам до 14:
По условию траектория должна проходить через число 14, значит , так как мы никак не
можем получить число 15, чтобы траектория проходила через число 14. Продолжим заполнять
таблицу:
Аналогично , так как число 30 никак нельзя получить, чтобы траектория проходила через
число 29. Заполним таблицу до конца:
Отсюда получаем ответ: 5040.
Ошибка.
Попробуйте повторить позже
Исполнитель Ребус преобразует число, записанное на экране.
У исполнителя есть команды, которым присвоены номера:
1. Прибавить 1,
2. Прибавить 2,
3. Умножить на 2,
4. Умножить на 3.
Первая команда увеличивает число на экране на 1, вторая — на 2, третья — удваивает число на экране, четвертая — утраивает число на экране. Программа для исполнителя Ребус — это последовательность команд.
Сколько существует программ, для которых при исходном числе 2 результатом является число 27 и при этом траектория содержит числа 13 и 19 ? Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы 132 при исходном числе 7 траектория будет состоять из чисел 8, 16, 18.
Пусть — количество программ, которые число 2 преобразуют в число
. Тогда верно следующее
утверждение:
— если число не делится на 2 и на 3.
— если число делится на 2, но не делится на 3.
— если число делится на 3, но не делится на 2.
— если число делится и на 2, и на 3.
Используя данные формулы, заполним таблицу до 13:
По условию траектория должна проходить через число 13, значит , так как число 14 мы
можем полчить только командой 1 из числа 13, чтобы траектория проходила через число 14.
Продолжим заполнять таблицу:
Аналогично . Заполним таблицу до конца:
Отсюда получаем ответ – 129948.
Ошибка.
Попробуйте повторить позже
Исполнитель преобразует число, записанное на экране.
У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 1,
2. Умножить на 2.
Первая команда увеличивает число на экране на 1, вторая — удваивает его. Программа для исполнителя — это последовательность команд.
Сколько существует программ, для которых при исходном числе 2 результатом является число 17 и при этом траектория содержит число 10? Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 10, 11.
Пусть — количество программ, которык число 2 преобразуют в число n. Тогда верно следующее
утверждение:
— если число n не делится на 2.
Заполним таблицу по данной формуле до 10:
В итоге получаем ответ — 7
Ошибка.
Попробуйте повторить позже
Исполнитель ДОБРОЕ УТРО преобразует число, записанное на экране.
У исполнителя есть команды, которым присвоены номера:
1. Прибавить ,
2. Прибавить ,
3. Умножить на
Первая команда увеличивает число на экране на , вторая — на
, третья — увеличивает число в
раза.
Сколько существует программ, для которых при исходном числе результатом является число
и при этом
траектория содержит число
? Траектория вычислений программы — это последовательность результатов выполнения
всех команд программы. Например, для программы
при исходном числе
траектория будет состоять из чисел
.
Рекурсия:
def f(x, y): if x == y: return 1 if x > y: return 0 else: return f(x + 1, y) + f(x + 3, y) + f(x * 2, y) print(f(1, 9) * f(9, 15))
Динамика:
a = [0] * 16 a[1] = 1 for i in range(2, 16): a[i] += a[i - 1] + a[i - 3] + a[i // 2] * (i % 2 == 0) if i == 9: for j in range(i): a[j] = 0 print(a[15])
Ошибка.
Попробуйте повторить позже
Исполнитель Крабокраб преобразует число, записанное на экране.
У исполнителя есть команды, которым присвоены номера:
- Прибавить
;
- Прибавить
;
- Умножить на
.
Первая команда увеличивает число на экране на , вторая — на
, третья — увеличивает число в
раза.
Сколько существует программ, для которых при исходном числе результатом является число
и при этом
траектория содержит число
? Траектория вычислений программы — это последовательность результатов выполнения
всех команд программы. Например, для программы
при исходном числе
траектория будет состоять из чисел
.
Рекурсия:
def f(x, y): if x == y: return 1 if x > y: return 0 else: return f(x + 2, y) + f(x + 3, y) + f(x * 2, y) print(f(3, 8) * f(8, 18))
Динамика:
a = [0] * 19 a[3] = 1 for i in range(4, 19): a[i] += a[i - 2] + a[i - 3] + a[i // 2] * (i % 2 == 0) if i == 8: for j in range(i): a[j] = 0 print(a[18])
Ошибка.
Попробуйте повторить позже
Исполнитель КОНЬКИ преобразует число, записанное на экране.
У исполнителя есть команды, которым присвоены номера:
1. Прибавить 3,
2. Прибавить 4,
3. Умножить на 2
Первая команда увеличивает число на экране на 3, вторая — на 4, третья — увеличивает число в 2 раза.
Сколько существует программ, для которых при исходном числе 3 результатом является число 35 и при этом траектория содержит число 22? Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы 123 при исходном числе 1 траектория будет состоять из чисел 4, 8, 16.
Рекурсия:
def f(x, y): if x == y: return 1 if x > y: return 0 else: return f(x + 3, y) + f(x + 4, y) + f(x * 2, y) print(f(3, 22) * f(22, 35))
Динамика:
a = [0] * 1000 a[3] = 1 for i in range(3, 22 + 1): a[i + 3] += a[i] a[i + 4] += a[i] a[i * 2] += a[i] for i in range(1000): if i != 22: a[i] = 0 for i in range(22, 35 + 1): a[i + 3] += a[i] a[i + 4] += a[i] a[i * 2] += a[i] print(a[35])
Ошибка.
Попробуйте повторить позже
Исполнитель СНЕГОВИК преобразует число, записанное на экране.
У исполнителя есть команды, которым присвоены номера:
1. Прибавить 1,
2. Прибавить 4,
3. Умножить на 4
Первая команда увеличивает число на экране на 1, вторая — на 4, третья — увеличивает число в 4 раза.
Сколько существует программ, для которых при исходном числе 3 результатом является число 27 и при этом траектория содержит число 11? Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы 123 при исходном числе 1 траектория будет состоять из чисел 2, 6, 24.
Рекурсия:
def f(x, y): if x == y: return 1 if x > y: return 0 else: return f(x + 1, y) + f(x + 4, y) + f(x * 4, y) print(f(3, 11) * f(11, 27))
Динамика:
a = [0] * 1000 a[3] = 1 for i in range(3, 11+1): a[i + 1] += a[i] a[i + 4] += a[i] a[i * 4] += a[i] for i in range(1000): if i != 11: a[i] = 0 for i in range(11,27+1): a[i + 1] += a[i] a[i + 4] += a[i] a[i * 4] += a[i] print(a[27])
Ошибка.
Попробуйте повторить позже
Исполнитель КРАБ преобразует число, записанное на экране.
У исполнителя есть команды, которым присвоены номера:
- Прибавить
- Прибавить
,
- Умножить на
Первая команда увеличивает число на экране на , вторая — на
, третья — увеличивает число в
раза.
Сколько существует программ, для которых при исходном числе результатом является число
и при этом
траектория содержит число
? Траектория вычислений программы — это последовательность результатов выполнения
всех команд программы. Например, для программы
при исходном числе
траектория будет состоять из чисел
,
,
.
Рекурсия:
def f(x, y): if x == y: return 1 if x > y: return 0 else: return f(x + 3, y) + f(x + 4, y) + f(x * 2, y) print(f(3, 22) * f(22, 35))
Динамика:
a = [0] * 36 a[3] = 1 for i in range(4, 36): a[i] = a[i - 3] + a[i - 4] + a[i // 2] * (i % 2 == 0) if (i == 22): for j in range(i): a[j] = 0 print(a[35])
Ошибка.
Попробуйте повторить позже
Исполнитель СКЕЛЕТОР преобразует число, записанное на экране.
У исполнителя есть команды, которым присвоены номера:
- Прибавить
- Прибавить
- Умножить на
Первая команда увеличивает число на экране на , вторая — на
, третья — увеличивает число в
раза.
Сколько существует программ, для которых при исходном числе результатом является число
и при этом
траектория содержит число
? Траектория вычислений программы — это последовательность результатов выполнения
всех команд программы. Например, для программы
при исходном числе
траектория будет состоять из чисел
,
,
.
Решение №1
a = [0] * 27 * 4 a[3] = 1 for i in range(3, 27): if i == 11: for j in range(i + 1, 27 * 4): a[j] = 0 a[i + 1] += a[i] a[i + 4] += a[i] a[i * 4] += a[i] print(a[27])
Решение №2
a = [0] * 28 a[3] = 1 for i in range(4, 28): a[i] = a[i - 1] + a[i - 4] + a[i // 4] * (i % 4 == 0) if i == 11: for j in range(i): a[j] = 0 print(a[27])
Ошибка.
Попробуйте повторить позже
Исполнитель Кирка преобразует число на экране. У исполнителя есть три команды, которым присвоены номера:
1. Прибавить
2. Прибавить
3. Умножить на
Программа для исполнителя Кирка — это последовательность команд.
Сколько существует программ, для которых при исходном числе результатом является число
и при этом
траектория вычислений содержит число
?
Решение 1 (Рекурсия)
def f(s, fi, flag): if s > fi: return 0 if s == 10: flag = True if s == fi and flag: return 1 return f(s + 1, fi, flag) + f(s + 2, fi, flag) + f(s * 3, fi, flag) print(f(2, 13, False))
Решение 2 (Динамика)
a = [0] * 14 a[2] = 1 for i in range(3, 14): a[i] += a[i - 1] + a[i - 2] if i % 3 == 0: a[i] += a[i // 3] if i == 10: for i in range(i): a[i] = 0 print(a[13])
Ошибка.
Попробуйте повторить позже
Исполнитель КРИНЖУЛИК преобразует число на экране. У исполнителя две команды, которым присвоены номера:
- Прибавить
;
- Умножить на
.
Первая команда увеличивает число на экране на , вторая увеличивает его в
раза. Сколько существует программ,
для которых при исходном числе
результатом будет число
, обязательно проходящее через число
.
Рекурсия:
def f(x, y): if x == y: return 1 if x > y: return 0 else: return f(x + 3, y) + f(x * 2, y) print(f(12, 30) * f(30, 96))
Динамика:
a = [0]*97 a[12] = 1 for i in range(15, 97): a[i] += a[i-3] + a[i//2] * (i % 2 == 0) if i == 30: for j in range(30): a[j] = 0 print(a[96])
Ошибка.
Попробуйте повторить позже
Исполнитель ШКОЛКОВО преобразует число баллов ЕГЭ, записанное на экране. У исполнителя есть три команды, которым присвоены номера:
1. Прибавь ;
2. Прибавь ;
3. Возведи в квадрат.
Первая команда увеличивает число на экране на , вторая увеличивает его на
, третья заменяет число на экране на
число, равное квадрату этого числа.
Программа для исполнителя ШКОЛКОВО это последовательность команд.
Сколько существует программ, для которых при исходном числе результатом является число
и при этом
траектория вычислений содержит число
?
Траектория вычислений программы — это последовательность результатов выполнения всех команд
программы. Например, для программы при исходном числе
траектория будет состоять из чисел
.
Решение 1 (Рекурсия)
def f(start, finish): if start == finish: return 1 if start > finish: return 0 return f(start + 1, finish) + f(start + 5, finish) + f(start * start, finish) print(f(2, 5) * f(5, 26))
Решение 2 (Динамика)
a = [0] * 27 a[2] = 1 for i in range(3, 27): a[i] += a[i - 1] + a[i - 5] sq = int(i ** 0.5) if sq ** 2 == i: a[i] += a[sq] if i == 5: for j in range(1, 5): a[j] = 0 print(a[26])
Решение 3 (Динамика)
a = [0] * 10000 a[2] = 1 for i in range(2, 26): if i == 5: for j in range(6, 27): a[j] = 0 a[i + 1] += a[i] a[i + 5] += a[i] a[i * i] += a[i] print(a[26])
Ошибка.
Попробуйте повторить позже
Исполнитель Копатыч преобразует целое число, записанное на экране. У исполнителя две команды, которым присвоены номера:
1. Прибавь
2. Прибавь
3. Умножь на
Первая из них увеличивает число на экране на , вторая увеличивает число на
, третья увеличивает число в
раза.
Программа для исполнителя Копатыч - это последовательность команд.
Сколько существует программ, которые преобразуют исходное число в число
и при этом траектория вычислений
содержит число
?
Решение 1 (Рекурсия)
def f(s, fi, flag = False): if s == 9: flag = True if (s == fi) and (flag): return 1 if s > fi: return 0 return f(s + 1, fi, flag) + f(s + 2, fi, flag) + f(s * 3, fi, flag) print(f(3, 14))
Решение 2 (Динамика)
a = [0] * 15 a[3] = 1 for i in range(4, 10): a[i] += a[i - 1] a[i] += a[i - 2] if i % 3 == 0: a[i] += a[i // 3] for i in range(1, 9): a[i] = 0 for i in range(10, 15): a[i] += a[i - 1] a[i] += a[i - 2] if i % 3 == 0: a[i] += a[i // 3] print(a[14])
Ошибка.
Попробуйте повторить позже
Исполнитель Щелчок преобразует число на экране. У исполнителя есть три команды:
1. Прибавить
2. Умножить на
3. Прибавить
Программа для исполнителя — это последовательность команд.
Сколько существует программ, для которых при исходном числe результатом является число
, при этом
траектория вычислений содержит число
.
Траектория вычислений — это последовательность результатов выполнения всех команд программы. Например, для
программы при исходном числе
траектория будет состоять из чисел
.
Решение 1 (Рекурсия)
def f(x, y): if x == y: return 1 if x > y: return 0 else: return f(x + 1, y) + f(x + 3, y) + f(x * 2, y) print(f(2, 10) * f(10, 30))
Решение 2 (Динамика)
a = [0] * 31 * 3 a[2] = 1 for i in range(2, 30): if i == 10: b = a[i] a = [0] * 31 * 3 a[i] = b # удалили все значения кроме ячейки a[15] a[i + 3] += a[i] a[i * 2] += a[i] a[i + 1] += a[i] print(a[30])
Ошибка.
Попробуйте повторить позже
Исполнитель Крабокорм преобразует число на экране.
У исполнителя есть три команды, которым присвоены номера:
1. Вычесть
2. Вычесть
3. Взять целую часть от деления на .
Первая команда уменьшает число на экране на , вторая уменьшает число на экране на
, третья заменяет число на
экране на целую часть от деления на
.
Программа для исполнителя Крабокорм - это последовательность команд.
Сколько существует программ, которые преобразуют исходное число в число
и при этом траектория вычислений
содержит число
?
Траектория вычислений — это последовательность результатов выполнения всех команд программы. Например, для
программы при исходном числе
траектория будет состоять из чисел
,
,
.
Рекурсия:
def f(x, y): if x == y: return 1 if x < y: return 0 else: return f(x - 1, y) + f(x - 3, y) + f(x // 3, y) print(f(38, 14) * f(14, 1))
Ошибка.
Попробуйте повторить позже
Исполнитель ДАША преобразует число, записанное на экране.
У исполнителя есть команды, которым присвоены номера:
1. Вычесть ;
2. Вычесть ;
3. Разделить на , если кратно
.
Первая команда уменьшает число на экране на , вторая — на
, третья — уменьшает число в
раз, если оно кратно
.
Сколько существует программ, для которых при исходном числе результатом является число
и при этом
траектория содержит число
? Траектория вычислений программы — это последовательность результатов выполнения
всех команд программы.
Программа:
def f(x, y): if x == y: return 1 if x < y: return 0 if x % 5 == 0: return f(x - 5, y) + f(x - 2, y) + f(x // 5, y) else: return f(x - 5, y) + f(x - 2, y) print(f(49, 13) *f(13, 1))