Ошибка.
Попробуйте повторить позже
Исполнитель преобразует число на экране. У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 4
2. Прибавить 5
Программа для исполнителя — это последовательность команд. Сколько существует программ, для которых при исходном числе 31 результатом является число 113 и при этом траектория вычислений не содержит числа, кратные 5?
def f(a,b): if a > b or a % 5 == 0:return 0 if a == b:return 1 return f(a+4,b)+f(a+5,b) print(f(31,113))
Ошибка.
Попробуйте повторить позже
Исполнитель преобразует число на экране. У исполнителя есть четыре команды, которым присвоены номера:
1. Прибавить 2
2. Прибавить 5
3. Умножь на 3
4.Прибавь до кратного 2
Программа для исполнителя — это последовательность команд. Команда 1 прибавляет к числу 2. Команда 2 прибавляет к числу 5. Команда 3 умножает число на 3. Команда 4 прибавляет к числу такое значение (прибавлять ноль нельзя), чтобы в итоге получилось ближайшее число, кратное двум. Сколько существует программ, для которых при исходном числе 4 результатом является число 66 и при этом траектория вычислений содержит числа 15,23 и не содержит числа 42,56?
from functools import lru_cache @lru_cache(None) def f(a,b): if a > b or a == 42 or a == 56:return 0 if a == b:return 1 return f(a+2,b)+f(a+5,b)+f(a*3,b)+f(a+(2-a%2),b) print(f(4,15)*f(15,23)*f(23,66))
Ошибка.
Попробуйте повторить позже
Исполнитель преобразует число на экране. У исполнителя есть три команды, которым присвоены номера:
1. Прибавить 2
2. Прибавить 3
3. Умножь на 4
Программа для исполнителя — это последовательность команд. Сколько существует программ, для которых при исходном числе 12 результатом является число от 50 до 60(включительно) и при этом траектория вычислений не содержит число 33?
def f(a,b): if a > b or a == 33:return 0 if a == b:return 1 return f(a+2,b)+f(a+3,b)+f(a*4,b) c = 0 for i in range(50,61): c += f(12,i) print(c)
Ошибка.
Попробуйте повторить позже
Исполнитель преобразует число на экране. У исполнителя есть три команды, которым присвоены номера:
1. Уменьши на 1
2. Уменьши на 4
3. Подели нацело на 2
Программа для исполнителя — это последовательность команд. Сколько существует программ, для которых при исходном числе 60 результатом является число 10 и при этом траектория вычислений содержит числа 56,30,18?
def f(a,b): if a < b:return 0 if a == b:return 1 return f(a-1,b)+f(a-4,b)+f(a//2,b) print(f(60,56)*f(56,30)*f(30,18)*f(18,10))
Ошибка.
Попробуйте повторить позже
Исполнитель преобразует число на экране. У исполнителя есть четыре команды, которым присвоены номера:
1. Прибавить 1
2. Прибавить 2
3. Умножь на 3
4. Прибавь до кратного 3
Программа для исполнителя — это последовательность команд. Команда 1 прибавляет к числу 1. Команда 2 прибавляет к числу 2. Команда 3 умножает число на 3. Команда 4 прибавляет к числу такое значение (прибавлять ноль нельзя), чтобы в итоге получилось ближайшее число, кратное трём. Сколько существует программ, для которых при исходном числе 3 результатом является число 77 и при этом траектория вычислений не содержит чётные числа?
def f(a,b): if a > b or a % 2 == 0:return 0 if a == b:return 1 return f(a+1,b)+f(a+2,b)+f(a*3,b)+f(a+(3-a%3),b) print(f(3,77))
Ошибка.
Попробуйте повторить позже
Исполнитель преобразует число на экране. У исполнителя есть три команды, которым присвоены номера:
1. Прибавить 2
2. Прибавить 3
3. Возвеcти в квадрат
Программа для исполнителя — это последовательность команд. Сколько существует программ, для которых при исходном числе 2 результатом является число 33 и при этом траектория вычислений не содержит число 16?
from functools import lru_cache @lru_cache(None) def f(a,b): if a > b or a == 16:return 0 if a == b:return 1 return f(a+2,b)+f(a+3,b)+f(a*a,b) print(f(2,33))
Ошибка.
Попробуйте повторить позже
Исполнитель преобразует число на экране. У исполнителя есть три команды, которым присвоены номера:
1. Прибавить 2
2. Прибавить 3
3. Умножить на 4
Программа для исполнителя — это последовательность команд. Сколько существует программ, для которых при исходном числе 2 результатом является число 26 и при этом траектория вычислений содержит число 16?
def f(a,b): if a > b: return 0 if a == b:return 1 return f(a+2,b)+f(a+3,b)+f(a*4,b) print(f(2,16)*f(16,26))
Ошибка.
Попробуйте повторить позже
Исполнитель преобразует число на экране. У исполнителя есть две команды, которым присвоены номера:
1. Уменьшить на 2
2. Поделить нацело на 3
Программа для исполнителя — это последовательность команд. Сколько существует программ, для которых при исходном числе 123 результатом является число 2?
def f(a,b): if a < b: return 0 if a == b:return 1 return f(a-2,b)+f(a//3,b) print(f(123,2))
Ошибка.
Попробуйте повторить позже
Исполнитель преобразует число на экране. У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 2
2. Умножить на 3
Программа для исполнителя — это последовательность команд. Сколько существует программ, для которых при исходном числе 7 результатом является число 77?
def f(a,b): if a > b: return 0 if a == b:return 1 return f(a+2,b)+f(a*3,b) print(f(7,77))
Ошибка.
Попробуйте повторить позже
Исполнитель Christmas преобразует число на экране. У исполнителя есть три команды:
1. Прибавить 3
2. Прибавить цифру, равную последней цифре в числе
3. Умножить на 2
Вторая команда прибавляет к числу его последний разряд. Например, вторая команда переводит число 23 в число 26 (так как 23 + 3 = 26), а число 40 оставляет в таком же виде.
Сколько существует программ, которые преобразуют исходное число 13 в число 52 и при этом вторая и третья команды не могут быть использованы последовательно друг за другом (то есть, если была использована вторая команда, то третья команда не может быть следующей, и если была использована третья команда, то вторая команда не может быть следующей), а также повторяться может только 1 команда (то есть, если была использована первая команла, то после неё может идти любая, в том числе и первая, но после второй или третьей команды может идти только первая)?
#определяем функцию def f(a,b,com): #если начальное число равно конечному, то возвращаем 1 if a == b: return 1 #если начальное число больше конечного, то возвращаем 0 if a > b: return 0 #если номер команды 2 или 3, то можно использовать только 1 команду if com == 2 or com == 3: return f(a+3,b,1) #основные команды программы return f(a+3,b,1) + f(a + a % 10,b,2) + f(a*2,b,3) #вывод количества программ, преобразующих число 13 в 52. print(f(13,52,0))
Ошибка.
Попробуйте повторить позже
Исполнитель Christmas преобразует число на экране. У исполнителя есть три команды:
1. Прибавить 1
2. Сделать четное
3. Сделать нечетное
Первая из них увеличивает на 1 число x на экране, вторая умножает это число на 2, третья переводит число x в число 2x + 1. Например, вторая команда переводит число 10 в число 20, а третья переводит число 10 в число 21.
Сколько существует программ, которые преобразуют исходное число 10 в число 68 и при этом первая команда (прибавить 1) не должна идти в последовательности команд 3-ей и 5-ой по счету (нумерация в последовательности начинается с единицы)?
def f(a,b, c): if a == b: #если начальное число равно конечному, то вывести 1 return 1 if a > b: #если начальное число больше конечного, то вывести 0 return 0 #проверка того, что первая команда не 3 и не 5 if c == 2 or c == 4: return f(a * 2, b, c + 1) + f(a * 2 + 1, b, c + 1) else: return f(a + 1, b, c + 1) + f(a * 2, b, c + 1) + f(a*2 +1, b, c + 1) print(f(10,68,0))
Ошибка.
Попробуйте повторить позже
Исполнитель Christmas преобразует число на экране. У исполнителя есть три команды:
1. Прибавить 1
2. Умножить на 3
3. Прибавить предыдущее
Сколько существует программ, которые преобразуют исходное число 7 в число 75 и при этом содержат не более 10 команд в последовательности?
Примечания: в команде 3 под предыдущим понимается число на единицу меньше чем обрабатываемое, то есть для 5 предыдущим будет 4.
def f(a,b, c): #если начальное число равно конечному и число команд меньше или равно 10, вывести 1 if a == b and c <= 10: return 1 #если начальное число больше конечного и число команд больше 10, вывести 0 if a > b or (c > 10): return 0 #выполнение основных команд return f(a+1,b, c+1) + f(a*3,b,c+1) + f(a+(a-1), b, c+1) print(f(7,75,0))
Ошибка.
Попробуйте повторить позже
Исполнитель Christmas преобразует число на экране. У исполнителя есть четыре команды:
1. Прибавить 1
2. Прибавить 3
3. Умножить на 2
4. Умножить на 5
Сколько существует программ, которые преобразуют исходное число 6 в число 38 так, что в процессе выполнения на экране цифра 2 появится не больше одного раза?
def f(a,b, two): #подсчёт количества цифр 2 if ’2’ in str(a): two += 1 #если начальное число равно конечному и число цифр 2 меньше или равно 1, вывести 1 if a == b and two <= 1: return 1 #если начальное число больше конечного и число цифр 2 больше 1, вывести 0 if a > b or (two == 1 and ’2’ in str(a)): return 0 #выполнение основных команд return f(a+1,b, two) + f(a+3,b,two) + f(a*2, b, two)+ f(a*5, b, two) print(f(6,38,0))
Ошибка.
Попробуйте повторить позже
Исполнитель Christmas преобразует число на экране. У исполнителя есть четыре команды:
1. Прибавить 1
2. Прибавить 2
3. Умножить на 2
4. Умножить на 4
Сколько существует программ, которые преобразуют исходное число 1 в число 13 и при этом содержат не более двух команд умножения?
def f(a,b, mult): #если начальное число равно конечному и число команд умножения меньше #или равно 2, вывести 1 if a == b and mult <= 2: return 1 #если начальное число больше конечного, вывести 0 if a > b: return 0 #если две команды умножения, то выполнять только сложение if mult == 2: return f(a+1,b,mult) + f(a+2,b, mult) #выполнение основных команд return f(a+1,b, mult) + f(a+2,b,mult) + f(a*2, b, mult + 1)+ f(a*4, b, mult + 1) print(f(1,13,0))
Ошибка.
Попробуйте повторить позже
Исполнитель Christmas преобразует число на экране. У исполнителя есть четыре команды:
1. Прибавить 1
2. Прибавить 4
3. Прибавить 6
4. Умножить на 3
Сколько существует программ, которые преобразуют исходное число 3 в число 26 и при этом содержат ровно одну команду умножения?
def f(a,b,com = False): #если начальное число равно конечному и одна команда умножения, вывести 1 if a == b and com == True: return 1 #если начальное число больше конечного, вывести 0 if a > b: return 0 #если команда умножения уже есть, то выполнять только сложение if com == True: return f(a+1,b,com) + f(a+4,b, com) + f(a+6,b, com) #выполнение основных команд return f(a+1,b) + f(a+4,b) + f(a+6,b) + f(a*3, b,True) print(f(3,26))
Ошибка.
Попробуйте повторить позже
Исполнитель Christmas преобразует число на экране. У исполнителя есть три команды:
1. Прибавить 1
2. Умножить на 2
3. Умножить на 5
Программа для исполнителя - это последовательность команд. Сколько существует значений, в которые можно прийти не более чем за 7 команд, но не менее чем за 3 команды, из числа 10?
d = set() #создание списка def f(a,c,m): if c > m:#если конечное значение больше числа команд, вывести 0 return 0 if c == m: #если конечное значение равно числу команд, вывести список d.add(a) return #если конечное значение меньше числа команд, выполнить команды if c < m: f(a+1,c+1,m) f(a*2,c+1,m) f(a*5, c + 1, m) for i in range(3,8): f(10,0,i) print(len(d))
Ошибка.
Попробуйте повторить позже
Исполнитель Christmas преобразует число на экране. У исполнителя есть четыре команды:
1. Прибавить 4
2. Умножить на 3
Программа для исполнителя - это последовательность команд. Сколько существует значений, в которые можно прийти не более чем за 10 команд из числа 5?
d = set() #создание списка def f(a,c,m): if c > m: #если конечное значение больше числа команд, вывести 0 return 0 if c == m: #если конечное значение равно числу команд, вывести список d.add(a) return #если конечное значение меньше числа команд, выполнить команды if c < m: f(a+4,c+1,m) f(a*3,c+1,m) for i in range(11): f(5,0,i) print(len(d))
Ошибка.
Попробуйте повторить позже
Исполнитель Snowman преобразует число на экране. У исполнителя есть четыре команды:
1. Прибавить 1
2. Прибавить 3
3. Умножить на 2
4. Умножить на 3
Программа для исполнителя - это последовательность команд. Сколько существует значений, в которые можно прийти за 12 команд из числа 6 и при этом не содержат двух последовательных команд сложения и двух последовательных команд умножения?
d = set() #создание списка def f(a,c,com): if c > 12:#если число команд больше 12, то вернуть 0 return 0 if c == 12: #если число команд равно 12, то вернуть список d.add(a) return #если число команд меньше 12, то продолжать выполнение команд if c < 12: #проверка того, что двух последовательных команд умножения и сложения нет if com == "1": f(a * 2, c+1, "2") f(a * 3, c+1, "2") elif com == "2": f(a + 1, c+1, "1") f(a + 3, c+1, "1") else: f(a + 1, c+1, "1") f(a + 3, c+1, "1") f(a * 2, c+1, "2") f(a * 3, c+1, "2") f(6,0,"") print(len(d))
Ошибка.
Попробуйте повторить позже
Исполнитель Snowman преобразует число на экране. У исполнителя есть две команды:
1. Прибавить 2
2. Умножить на 2
Программа для исполнителя - это последовательность команд. Сколько существует значений, в которые можно прийти за 11 команд из числа 1 и при этом никакая команда не повторяется более двух раз подряд?
d = set() #создание списка def f(a,c,com1,com2): if c > 11:#если число команд больше 11, то вернуть 0 return 0 if c == 11: #если число команд равно 11, то вернуть список d.add(a) return #проверка того, что команда не повторяется более двух раз if com1 == com2 == "1": f(a*2,c+1, com2, "2") elif com1 == com2 == "2": f(a + 2, c+1, com2, "1") else: f(a * 2, c+1, com2, "2") f(a + 2, c+1, com2, "1") f(1,0,"","") print(len(d))
Ошибка.
Попробуйте повторить позже
Исполнитель Snowman преобразует число на экране. У исполнителя есть две команды команды:
1. Прибавить 3
2. Увеличить каждый разрад в числе на 1.
Первая из них увеличивает число на экране на 3, вторая увеличивает на 1 каждую цифру числа, например число 34 с помощью такой команды превратится в число 45. Если цифра числа равна 9, то вторая команда оставляет эту цифру неизменной.
Программа для исполнителя - это последовательность команд. Сколько существует значений, в которые можно прийти за 9 команд из числа 81?
d = set() #создание списка def f(a,c): if c > 9:#если число команд больше 9, то вернуть 0 return 0 if c == 9: #если число команд равно 9, то вернуть список d.add(a) return str1 = str(a) str2 = ’’ for i in str1: #увеличение разрядов числа if int(i) < 9: str2 += str(int(i) + 1) else: str2 += i str2 = int(str2) if c < 9: #если число команд меньше 9, то продолжать выполнение команд f(a+3,c+1) f(str2,c+1) f(81,0) print(len(d))