• Предмет: Информатика
  • Автор: vaniaodokiy
  • Вопрос задан 6 месяцев назад

7) Надрукувати всі числа ряду Фібоначі, які потрапляють у проміжок, заданий двома введеними з клавіатури натуральними числами. Наприклад, якщо введено число б, то вивід повинен містити шість перших чисел ряду Фібоначі: 1 2 3 5 8 13.(сума двох попередніх чисел дорівнює наступному: 1+2=3; 2+3=5; 3+5=8)
НА ПАЙТОН​


p15: заданий двома введеними з клавіатури натуральними числами. Наприклад, якщо введено число б??????????????????????

Ответы

Ответ дал: wherethefux
1

numberOne = int(input("Введіть перше число: "))

numberTwo = int(input("Введіть друге число: "))

fibonacci = [0, 1]

for i in range(2, 100):

   fibonacci.append(fibonacci[i - 1] + fibonacci[i - 2])

   if fibonacci[i] >= numberOne and fibonacci[i] <= numberTwo:

       print(fibonacci[i])


vaniaodokiy: оо супер можна з поясненням?
wherethefux: Код просить користувача ввести два числа.

Потім створює список з перших двох чисел послідовності Фібоначчі.

Потім створюється цикл, який виконується 100 разів.

Цикл буде додавати останні два числа зі списку і додавати результат до списку.

Потім він перевірить, чи знаходиться останнє число списку між двома числами, введеними користувачем.

Якщо так, то він виведе це число на екран.
p15: Есть одна проблема в программе. Она ограничена 100-тым членом чисел Фибоначи.
p15: И мне кажется можно без списка
p15: с 4 по 99999999999999999999999999 - уже по 127 член, потому обрежет
Ответ дал: p15
1

Ответ:

a,b=0,1

m,n=map(int,input("введите начало и конец через пробел: ").split())

while a<=n:

   if a>=m: print (a)

   t=a+b

   a,b=b,t

Объяснение:

Мне кажется так быстрее, проще и почти ничем не ограничено.

Модифицировано с порядковым номером:

a,b=0,1

i=1

m,n=map(int,input("введите начало и конец через пробел: ").split())

while a<=n:

   if a>=m: print ("Число Фибоначи:", a,"порядковый номер:", i)

   t=a+b

   a,b=b,t

   i+=1


vaniaodokiy: мені просто треба for
p15: а дайте-ка правильное условие тогда, а не то, что вы написали. Я кстати уже просил.
vaniaodokiy: але я всю задачу скинув, мені треба на фор просто
p15: почитай и проверь условие. оно изначально дурное. а предыдущее решение со списками. если надо фор, то списки думаю вы не учили тем более
p15: для фор мне надо точное условие
vaniaodokiy: класно
p15: які потрапляють у проміжок, заданий двома введеними з клавіатури натуральними числами. Наприклад, якщо введено число б,
p15: сколько надо вводить? чего?
vaniaodokiy: ну мені дали так завдання
Вас заинтересует