Ошибка.
Попробуйте повторить позже
Исполнитель КЛУБНИЧКА преобразует число на экране. У исполнителя есть две команды:
1. Вычесть ;
2. Поделить на нацело.
Программа для исполнителя — это последовательность команд.
Сколько существует программ, для которых при исходном числe результатом является число , при этом траектория вычислений не содержит число .
Траектория вычислений — это последовательность результатов выполнения всех команд программы. Например, для программы при исходном числе траектория будет состоять из чисел .
a = [0] * (43 * 3 + 3) a[43] = 1 for i in range(42, 0, -1): a[i] = a[i + 1] + a[i * 3] + a[i * 3 + 1] + a[i * 3 + 2] if i == 8: a[i] = 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])
Ошибка.
Попробуйте повторить позже
Исполнитель Щелчок преобразует число на экране. У исполнителя есть три команды:
1. Прибавить 3
2. Прибавить 1
3. Прибавить само число
Программа для исполнителя — это последовательность команд.
Сколько существует программ, для которых при исходном числe 1 результатом является число 28, при этом программа содержит 9 команд, а траектория обязательно не проходит через число 11 и проходит через 13?
Траектория вычислений — это последовательность результатов выполнения всех команд программы. Например, для программы 123 при исходном числе 2 траектория будет состоять из чисел 5, 6, 12.
Решение 1 (Рекурсия)
def f(st, fn, flag, flag_number, exit_number, count, end_count): if st == fn and count == end_count and flag: return 1 if st > fn or count > end_count or st == exit_number: return 0 if st == flag_number: flag = True x = f(st + 1, fn, flag, flag_number, exit_number, count + 1, end_count) y = f(st + 3, fn, flag, flag_number, exit_number, count + 1, end_count) z = f(st * 2, fn, flag, flag_number, exit_number, count + 1, end_count) return x + y + z print(f(1, 28, False, 13, 11, 0, 9))
Решение 2 (Динамика)
ans = [] ans.append((1, 0)) for operations in range(9): can_get = [] for i in ans: a, flag = i if a == 11: continue if a + 3 == 13: can_get.append((a + 3, 1)) else: can_get.append((a + 3, flag)) if a + 1 == 13: can_get.append((a + 1, 1)) else: can_get.append((a + 1, flag)) if 2 * a == 13: can_get.append((2 * a, 1)) else: can_get.append((2 * a, flag)) ans = can_get otv = 0 for i in ans: a, flag = i if (a == 28) and (flag): otv += 1 print(otv)
Ошибка.
Попробуйте повторить позже
Исполнитель Щелчок преобразует число на экране. У исполнителя есть три команды:
1. Прибавить 2, если число кратно 3
2. Прибавить 3, если число кратно 2
3. Прибавить 1, если число не кратно ни 2, ни 3
Программа для исполнителя — это последовательность команд.
Сколько существует программ, для которых при исходном числe 3 результатом является число 27, при этом программа содержит 12 команд, а траектория обязательно не проходит через число 22?
Траектория вычислений — это последовательность результатов выполнения всех команд программы. Например, для программы 132 при исходном числе 3 траектория будет состоять из чисел 5, 6, 9.
Решение 1 (Рекурсия)
def f(st, fn, exit_number, count, end_count): if st == fn and count == end_count: return 1 if st > fn or count > end_count or st == exit_number: return 0 x = f(st + 2, fn, exit_number, count + 1, end_count) * (st % 3 == 0) y = f(st + 3, fn, exit_number, count + 1, end_count) * (st % 2 == 0) z = f(st + 1, fn, exit_number, count + 1, end_count) * (st % 2 != 0 and st % 3 != 0) return x + y + z print(f(3, 27, 22, 0, 12))
Решение 2 (Динамика)
ans = [] ans.append(3) for operations in range(12): can_get = [] for i in ans: if i == 22: continue if i % 3 == 0: can_get.append(i + 2) if i % 2 == 0: can_get.append(i + 3) if (i % 2 != 0) and (i % 3 != 0): can_get.append(i + 1) ans = can_get print(ans.count(27))
Ошибка.
Попробуйте повторить позже
Исполнитель Щелчок преобразует число на экране. У исполнителя есть три команды:
1. Прибавить 1
2. Если число кратно , прибавить к нему это же число, умноженное на
3. Умножить на 2
Программа для исполнителя — это последовательность команд.
Сколько существует программ, для которых при исходном числe 3 результатом является число 50, при этом программа содержит 20 команд, а траектория обязательно проходит через число 15?
Траектория вычислений — это последовательность результатов выполнения всех команд программы. Например, для программы 123 при исходном числе 7 траектория будет состоять из чисел 8, 14, 28.
Стоит сказать, что динамическое решение данной задачи более трудоемкое и занимает большее количество времени для исполнения. Поэтому рекомендуется использовать именно рекурсивную реализацию.
Решение 1 (Рекурсия)
def f(st, fn, flag, flag_number, count, end_count): if st == fn and count == end_count and flag: return 1 if st > fn or count > end_count: return 0 if st == flag_number: flag = True x = f(st + 1, fn, flag, flag_number, count + 1, end_count) y = f(st * 2, fn, flag, flag_number, count + 1, end_count) z = f(st + st * 0.75, fn, flag, flag_number, count + 1, end_count) * \ (st % 8 == 0) return x + y + z print(f(3, 50, False, 15, 0, 20))
Решение 2 (Динамика)
ans = [] ans.append((3, 0)) for operations in range(20): can_get = [] for i in ans: a, flag = i if a + 1 == 15: can_get.append((a + 1, 1)) else: can_get.append((a + 1, flag)) if a % 8 == 0: if int(a + a * 0.75) == 15: can_get.append((int(a + a * 0.75), 1)) else: can_get.append((int(a + a * 0.75), flag)) can_get.append((a * 2, flag)) ans = can_get otv = 0 for i in ans: a, flag = i if (a == 50) and (flag): otv += 1 print(otv)
Ошибка.
Попробуйте повторить позже
Исполнитель Щелчок преобразует число на экране. У исполнителя есть три команды:
- Прибавить
- Умножить на
- Возвести в третью степень
Программа для исполнителя — это последовательность команд.
Сколько существует программ, для которых при исходном числe результатом является число , при этом траектория вычислений не содержит числа , но содержит число .
Траектория вычислений — это последовательность результатов выполнения всех команд программы. Например, для программы при исходном числе траектория будет состоять из чисел .
Решение 1 (Рекурсия)
def f(st, fn, flag, flag_number, exit_number): if st == fn and flag: return 1 if st > fn or st == exit_number: return 0 if st == flag_number: # поднимаем флаг, если дошли до требуемого значения flag = True x = f(st + 3, fn, flag, flag_number, exit_number) y = f(st * 2, fn, flag, flag_number, exit_number) z = f(st ** 3, fn, flag, flag_number, exit_number) return x + y + z print(f(3, 96, False, 12, 25))
Решение 2 (Динамика)
a = [0] * (96 ** 3 + 1) a[3] = 1 for i in range(3, 96): if i == 12: b = a[i] a = [0] * (96 ** 3 + 1) a[i] = b if i != 25: a[i + 3] += a[i] a[i * 2] += a[i] a[i ** 3] += a[i] print(a[96])
Решение 3 (Динамика)
a = [0] * 97 a[3] = 1 for i in range(4, 97): a[i] = a[i - 3] + a[i // 2] * (i % 2 == 0) x = int(i ** (1 / 3)) if x ** 3 == i: a[i] += a[x] if i == 12: for j in range(i): a[j] = 0 if i == 25: a[i] = 0 print(a[96])
Ошибка.
Попробуйте повторить позже
Исполнитель Чипсы с крабом преобразует число, записанное на экране. У исполнителя есть команды, которым присвоены номера:
- Прибавить
- Умножить на
Первая команда увеличивает число на экране на вторая — увеличивает число в раза. Программа для исполнителя Крабоед — это последовательность команд. Сколько существует программ, для которых при исходном числе результатом является число и при этом траектория вычислений не содержит и содержит ?
Решение 1 (Рекурсия)
def f(s, fi, flag): if s > fi: return 0 if s == 99: return 0 if s == 50: flag = True if s == fi and flag: return 1 return f(s + 2, fi, flag) + f(s * 3, fi, flag) print(f(10, 100, False))
Решение 2 (Динамика)
a = [0] * 101 a[10] = 1 for i in range(11, 101): a[i] = a[i - 2] + a[i // 3] * (i % 3 == 0) if i == 99: a[i] = 0 if i == 50: for j in range(i): a[j] = 0 print(a[100])
Ошибка.
Попробуйте повторить позже
Исполнитель Желаний преобразует число на экране. У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 1
2. Умножить на 2
Первая команда увеличивает число на экране на 1, вторая умножает его на 2.
Программа для исполнителя – это последовательность команд.
Сколько существует программ, для которых при исходном числе 3 результатом является число 45 и при этом траектория вычислений содержит число 10 и не содержит число 15?
Ответ дайте в шестеричной системе счисления
def perevod(n, a): s = ’’ while n != 0: s = str(n % a) + s n //= a return s a = [0]*46 a[3] = 1 for i in range(4, 46): a[i] = a[i-1] if i % 2 == 0: a[i] += a[i//2] if i == 15: a[i] = 0 if i == 10: for j in range(i): a[j] = 0 print(perevod(a[45], 6))
Ошибка.
Попробуйте повторить позже
Исполнитель Желаний преобразует число на экране. У исполнителя есть три команды, которым присвоены номера:
1. Прибавить 1
2. Прибавить 3
3. Умножить на 4
Первая команда увеличивает число на экране на , вторая на — , третья умножает его на .
Программа для исполнителя — это последовательность команд.
Сколько существует программ, для которых при исходном числе результатом является число и при этом траектория вычислений содержит число и не содержит числа ?
a = [0]*21 a[3] = 1 for i in range(4, 21): a[i] = a[i-1]+a[i-3] if i % 4 == 0: a[i] += a[i//4] if i == 12: for j in range(i): a[j] = 0 if i == 7: a[i] = 0 print(a[20])
Ошибка.
Попробуйте повторить позже
Исполнитель преобразует число на экране.
У исполнителя есть три команды, которым присвоены номера:
- Прибавить
- Прибавить
- Умножить на
Первая команда увеличивает число на экране на , вторая увеличивает его на , третья — умножает на .
Программа для исполнителя — это последовательность команд. Сколько существует программ, которые преобразуют исходное число в число , и при этом траектория вычислений содержит число и не содержит числа ?
Траектория вычислений — это последовательность результатов выполнения всех команд программы. Например, для программы при исходном числе траектория будет состоять из чисел , , .
a = [0]*16 a[2] = 1 for i in range(3, 16): a[i] = a[i-1]+a[i-2] if i % 3 == 0: a[i] += a[i//3] if i == 10: for j in range(1, i): a[j] = 0 if i == 14: a[i] = 0 print(a[15])
Ошибка.
Попробуйте повторить позже
Исполнитель АС преобразует число на экране.
У исполнителя есть три команды, которым присвоены номера:
- Прибавить ;
- Умножить на ;
- Умножить на .
Первая команда увеличивает число на экране на , вторая умножает его на , третья умножает на .
Программа для исполнителя АС — это последовательность команд. Сколько существует программ, которые преобразуют исходное число в число , и при этом траектория вычислений содержит число и не содержит числа ?
a = [0]*51 a[1] = 1 for i in range(2, 51): a[i] = a[i-1] if i % 2 == 0: a[i] += a[i//2] if i % 3 == 0: a[i] += a[i//3] if i == 14: for j in range(14): a[j] = 0 if i == 16: a[i] = 0 print(a[50])
Ошибка.
Попробуйте повторить позже
Исполнитель ИВ преобразует число на экране.
У исполнителя есть три команды, которым присвоены номера:
. Прибавить
. Умножить на
. Прибавить
Первая команда увеличивает число на экране на , вторая умножает его на , третья увеличивает на .
Программа для исполнителя ИВ — это последовательность команд.
Сколько существует программ, которые преобразуют исходное число в число , и при этом траектория
вычислений содержит число и не содержит числа ?
a = [0]*17 a[1] = 1 for i in range(2, 17): a[i] = a[i-1] if i > 5: a[i] += a[i-5] if i % 2 == 0: a[i] += a[i//2] if i == 10: a[i] = 0 if i == 8: for j in range(8): a[j] = 0 print(a[16])
Ошибка.
Попробуйте повторить позже
Геральт копит чеканные монеты, количество которых записано на экране.
У него есть варианты, которым присвоены номера:
1. Прибавить 5 монет, убив утопца,
2. Прибавить 10 монет, выполнив заказ на призрака,
3. Увеличить количество монет в 2 раза, сыграв в гвинт.
Первый вариант учеличивает количество монет на 5, второй — на 10, третий — умножает количество монет на 2. Программа для Геральта из Ривии — это последовательность вариантов.
Геральту нужно накопить 100 монет, чтобы выкупить Лютика из плена эльфов.
Сколько существует программ, для которых при исходном количестве монет 15 является результатом 100 монет. При этом траектория вычислений содержит любимое число Геральта — 50 и не содержит числа 25 и 40? Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы 123 при исходном числе 7 траектория будет состоять из чисел 12, 22, 44.
Составим формулы:
— если число не делится на 2.
— если число делится на 2.
Заметим, что количество программ будет меняться только на числах кратных 5. Заполним таблицу по данным формулам, учитывая условия траектории:
Лютик точно будет спасён!
Ошибка.
Попробуйте повторить позже
Исполнитель САПСАН преобразует число, записанное на экране.
У исполнителя есть три команды, которым присвоены номера:
Прибавить 2,
Прибавить 3,
Умножить на 2.
Первая команда увеличивает число на экране на 2, вторая увеличивает на 3, третья увеличивает число на экране в 2 раза. Программа для САПСАНа — это последовательность команд.
Сколько существует программ, для которых при исходном числе 1 результатом является число 15 и при этом траектория вычислений содержит число 6 и 9, но не содержит число 13? Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы 123 при исходном числе 7 траектория будет состоять из чисел 9, 12, 24.
Пусть — количество программ, которые число 1 преобразуют в число n. Тогда верно следующее утверждение:
— если число не делится на 2.
— если число делится на 2.
Заполним таблицу по данной формуле до 6:
Ошибка.
Попробуйте повторить позже
Исполнитель Ф312 преобразует число, записанное на экране.
У исполнителя есть команды, которым присвоены номера:
1. Прибавить 1,
2. Прибавить 3,
3. Умножить на 3.
Первая команда увеличивает число на экране на 1, вторая – на 3, третья – утраивает число на экране. Программа для исполнителя Ф312 — это последовательность команд.
Сколько существует программ, для которых при исходном числе 2 результатом является число 33 и при этом траектория вычислений содержит число 12 и не содержит число 27? Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 231 при исходном числе 6 траектория будет состоять из чисел 9, 27, 28.
Пусть — количество программ, которые число 1 преобразуют в число n. Тогда верно следующее утверждение:
— если число не делится на 3.
— если число делится на 3.
Заполним таблицу по формулам до 11:
Продолжим заполнять таблицу:
Заполним таблицу до конца: