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

Даны три числа,верно ли,что одно из них является средним арифметическим двух других. нужно решить на языке c++

Показать ответ
Ответ:
hfb1
hfb1
31.10.2021 02:53
1. Наполняем кувшин 3 литрами воды. В первом кувшине 3 л, во втором 0л
2. Переливаем все из первого во второй. В первом кувшине 0 л, во втором 3л
3. Повторяем п1. В первом кувшине 3 л, во втором 3л
4. Повторяем п2. В первом кувшине 0 л, во втором 6л
5. Повторяем п1. В первом кувшине 3 л, во втором 6л
6. Переливаем из первого во второй до наполнения второго. В первом кувшине 1 л, во втором 8л
7. Выливаем все из большего кувшина. В первом кувшине 1 л, во втором 0л
8. Повторяем п2. В первом кувшине 0 л, во втором 1л
9. Повторяем поледовательнось п1-п4 два раза, В первом кувшине 0 л, во втором 7л
0,0(0 оценок)
Ответ:
Tomilka777
Tomilka777
22.12.2021 02:18
Программа на python 3, перебирающая все возможные последовательности определённой длины:
def shortest_chains(n):
  def next_chains(chain):
    new_elems = set()
    for i in range(len(chain)):
      for j in range(i, len(chain)):
        new_elem = chain[i] + chain[j]
        if new_elem > chain[-1] and new_elem not in new_elems:
          new_elems.add(new_elem)
          yield chain + [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_chains(chain))
    answer = [chain[1:] for chain in next_stage if chain[-1] == n]
  return answer
    
def print_solution(n):
  answer = shortest_chains(n)
  print("Для {} есть {} решений(-я, -е):".format(n, len(answer)))
  for i in range(len(answer)):
    print("{}. {}".format(i + 1, " ".join(map(str, answer[i]
  print()

Запустив, можно получить все 5 возможных решений для числа 7, по 4 решения для 15 и 23 и 87 решений для 63.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота