Ник555555551
04.03.2022 06:46

Написать программу, которая выводит на экран 2, идущих последовательно, члена ряда Фибоначчи, ближайших к целому n. Так чтобы первый из них был меньше, а второй – больше либо равен n. n вводится с клавиатуры. Оно не меньше 2 и не превышает 2 000 000 000.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
мирэлюзий
15.03.2021 20:43
Программа на 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 оценок)
Ответ:
Битон64
22.05.2020 03:43
Var h,h1,m,m1,k,k1,b:integer;
begin
write('h, h1: '); readln(h,h1);
write('m, m1: '); readln(m,m1);
write('k, k1: '); readln(k,k1);
if h div h1 < m div m1
 then b:=h div h1 else b:=m div m1;
if k div k1 < b then b:=k div k1;
writeln('b = ',b);
end.

Пример:
h, h1: 1000 100
m, m1: 600 50
k, k1: 500 50
b = 10

С определяется на сколько бутербродов хватит хлеба, масла или колбасы соответственно. Из этих количеств выбирается минимальное значение. В примере: хлеба хватит на 1000 div 100 = 10 бутербродов, масла - на 600 div 50 = 12; колбасы - на 500 div 50 = 10. Значит, из данного количество продуктов можно сделать 10 полноценных бутербродов.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота