В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
диана2434
диана2434
28.06.2021 14:30 •  Информатика

Вам нужно умножить некоторое большое число x на 27. у вас есть калькулятор, но на калькуляторе сломались все кнопки операций, кроме сложения. поэтому вы можете только складывать разные числа (например, можно сложить число x и число x, тогда получится 2x, затем можно сложить число 2x и 2x и получится 4x, а можно сложить 2x и x и получится 3x, то есть можно складывать любые ранее полученные числа между собой). определите, при какого минимального числа сложений можно получить число 27x. последовательность операций, при которых можно получить число 27x за указанное число сложений.

Показать ответ
Ответ:
Mogolan
Mogolan
07.10.2020 02:48
Программа на питоне, перебирающая варианты и возвращающая все ответы минимальной длины:
def number_of_adds(n):
  def next_seq(seq):
    new_elems = set()
    for i in range(len(seq)):
      for j in range(i, len(seq)):
        new_elem = seq[i] + seq[j]
        if new_elem > seq[-1] and new_elem not in new_elems:
          new_elems.add(new_elem)
          yield seq + [new_elem]
  
  current_stage = None
  next_stage = [[1]]
  answer = []
  while len(answer) == 0:
    current_stage = next_stage
    next_stage = []
    for chain in current_stage:
      next_stage.extend(next_seq(chain))
    answer = [seq[1:] for seq in next_stage if seq[-1] == n]
  return answer
    
def print_solution(n):
  answer = number_of_adds(n)
  print("Для {} есть {} решений(-я, -е):".format(n, len(answer)))
  for i in range(len(answer)):
    print("{}. {}".format(i + 1, " ".join(map(str, answer[i]
  print()

print_solution(27)

Запустив, находим, что необходимо 6 сложений. За 6 сложений можно получить 27X, например, так:
X + X = 2X
2X + X = 3X
3X + 3X = 6X
6X + 6X = 12X
12X + 12X = 24X
24X + 3X = 27X
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота