Спасибо, начал 2 недели назад. Уже умею делать до 19 номера, а до егэ ещё 2 года. За помощь с огэ, отдельное спасибо. 1 балла до 5 не хватило
reys
Вы самый классный, спасибо большое, только благодаря вам я так хорошо знаю информатику✨🤟
qhcxmvf
спасибо за Вашу работу, очень помогаете
eleonora
Ты лучший!!!
Я тебе очень благодарен🥰
futureanimation
А можно разбор задания 23 где требуют изменять старшую цифру числа? (видел на фипи)
fallenintacion
вы просто легенда, спасибо за все реально
ildanchik
Моё решение немного отличается (здесь другие числа, оно универсальное):
class Node:
parent = None
value = 0
def __init__(self, parent, value):
self.parent = parent
self.value = value
def calc(op, num):
if op == 0:
return num + 1
if op == 1:
return num + 2
return num * 2
def parseNode(node):
nums = []
while node is not None:
nums.append(node.value)
node = node.parent
nums.reverse()
return nums
start = Node(None, 1)
end = 12
operations = 3
# Необходимо менять Node(None, ???) на начальное значение
# Необходимо менять end на конечное значение
# operations на количество операций
# Также, необходимо менять функцию calc на необходимые условия
branch = [start]
result = []
for i in range(end):
branch2 = []
for node in branch:
for j in range(operations):
result_num = calc(j, node.value)
if result_num == end:
result.append(Node(node, result_num))
continue
if result_num >= end:
continue
branch2.append(Node(node, result_num))
branch = branch2
matrix = []
for el in result:
matrix.append(parseNode(el))
print(f'Все возможные варианты: {matrix}')
print(f'Количество комбинаций = {len(result)}')
# Дальше ручная обработка матрицы в зависисти от условий!
count = 0
for arr in matrix:
goal1 = False
goal2 = False
for el in arr:
if el == 7:
goal1 = True
if el == 10:
goal2 = True
if goal1 and goal2:
count += 1
print(count)
wetizjs
Красавчик, даже учителя в школе хуже разбирают. ОГРОМНЫЙ ТЕБЕ РЕСПЕКТ!!!
dez_tez
print(((f(1, 10) * f(10, 35))-f(1, 17)) почему при таком принте не правильный ответ?
loco
Такие простые решения. Я после промышленного программирования, строил деревья на основе ссылок (пришлось классы использовать), потом удачные ветки добавлял в список, а потом уже делал проверки, что там в пути содержится или нет. Что происходит вокруг...
class Node:
parent = None
value = 0
def __init__(self, parent, value):
self.parent = parent
self.value = value
def calc(op, num):
if op == 0:
return num + 1
if op == 1:
return num + 2
return num * 2
def parseNode(node):
nums = []
while node is not None:
nums.append(node.value)
node = node.parent
nums.reverse()
return nums
start = Node(None, 1)
end = 12
operations = 3
# Необходимо менять Node(None, ???) на начальное значение
# Необходимо менять end на конечное значение
# operations на количество операций
# Также, необходимо менять функцию calc на необходимые условия
branch = [start]
result = []
for i in range(end):
branch2 = []
for node in branch:
for j in range(operations):
result_num = calc(j, node.value)
if result_num == end:
result.append(Node(node, result_num))
continue
if result_num >= end:
continue
branch2.append(Node(node, result_num))
branch = branch2
matrix = []
for el in result:
matrix.append(parseNode(el))
print(f'Все возможные варианты: {matrix}')
print(f'Количество комбинаций = {len(result)}')
# Дальше ручная обработка матрицы в зависисти от условий!
count = 0
for arr in matrix:
goal1 = False
goal2 = False
for el in arr:
if el == 7:
goal1 = True
if el == 10:
goal2 = True
if goal1 and goal2:
count += 1
print(count)
wetizjs
Можете продолжать уроки по питон с нуля ?
sansirbs
Дело то хорошее, но я видел вариант, где нужно было узнать кол-во вариантов, где можно использовать только одно умножение. И как её решить - непонятно
deadnikol
Интересная задача есть у Полякова номер 5257
AnnaBely
Это на какой программе? Питон или паскаль?
werak_
Вы не учли, что траектория вычислений не должна содержать число 17