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. Умножить на
Первая команда увеличивает число на экране на , вторая — на , третья — увеличивает число в раза.
Сколько существует программ, для которых при исходном числе результатом является число и при этом траектория содержит число ? Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы при исходном числе траектория будет состоять из чисел .
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])
Ошибка.
Попробуйте повторить позже
Исполнитель Крабокраб преобразует число, записанное на экране.
У исполнителя есть команды, которым присвоены номера:
- Прибавить ;
- Прибавить ;
- Умножить на .
Первая команда увеличивает число на экране на , вторая — на , третья — увеличивает число в раза.
Сколько существует программ, для которых при исходном числе результатом является число и при этом траектория содержит число ? Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы при исходном числе траектория будет состоять из чисел .
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.
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.
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])
Ошибка.
Попробуйте повторить позже
Исполнитель КРАБ преобразует число, записанное на экране.
У исполнителя есть команды, которым присвоены номера:
- Прибавить
- Прибавить ,
- Умножить на
Первая команда увеличивает число на экране на , вторая — на , третья — увеличивает число в раза.
Сколько существует программ, для которых при исходном числе результатом является число и при этом траектория содержит число ? Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы при исходном числе траектория будет состоять из чисел , , .
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])
Ошибка.
Попробуйте повторить позже
Исполнитель КРИНЖУЛИК преобразует число на экране. У исполнителя две команды, которым присвоены номера:
- Прибавить ;
- Умножить на .
Первая команда увеличивает число на экране на , вторая увеличивает его в раза. Сколько существует программ, для которых при исходном числе результатом будет число , обязательно проходящее через число .
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(st, fn, flag, flag_number): if st == fn and flag: return 1 if st > fn: return 0 if st == flag_number: # поднимаем флаг, если дошли до требуемого значения flag = True x = f(st + 3, fn, flag, flag_number) y = f(st * 2, fn, flag, flag_number) z = f(st + 1, fn, flag, flag_number) return x + y + z
Решение 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. Взять целую часть от деления на .
Первая команда уменьшает число на экране на , вторая уменьшает число на экране на , третья заменяет число на экране на целую часть от деления на .
Программа для исполнителя Крабокорм - это последовательность команд.
Сколько существует программ, которые преобразуют исходное число в число и при этом траектория вычислений содержит число ?
Траектория вычислений — это последовательность результатов выполнения всех команд программы. Например, для программы при исходном числе траектория будет состоять из чисел , , .
a = [0] * 39 * 3 a[38] = 1 for i in range(37, 0, -1): a[i] = a[i + 1] + a[i + 3] + a[i * 3] + a[i * 3 + 1] + a[i * 3 + 2] if i == 14: for j in range(38, 14, -1): a[j] = 0 print(a[1])
Ошибка.
Попробуйте повторить позже
Исполнитель ДАША преобразует число, записанное на экране.
У исполнителя есть команды, которым присвоены номера:
1. Вычесть ;
2. Вычесть ;
3. Разделить , если кратно .
Первая команда уменьшает число на экране на , вторая — на , третья — уменьшает число в раз, если оно кратно .
Сколько существует программ, для которых при исходном числе результатом является число и при этом траектория содержит число ? Траектория вычислений программы — это последовательность результатов выполнения всех команд программы.
a = [0] * (48 * 5 + 1) a[49] = 1 for i in range(48, 0, -1): a[i] = a[i + 5] + a[i + 2] + a[i * 5] if i == 13: for j in range(48, i, -1): a[j] = 0 print(a[1])