Числа Фибоначчи. Решение задачи на Python

Поделиться
HTML-код
  • Опубликовано: 2 дек 2024

Комментарии • 35

  • @MAUZER696
    @MAUZER696 3 года назад +25

    Со Степика трафик идёт.

  • @Shady24rus
    @Shady24rus 2 года назад

    чтобы отдельно не выводить первые числа, можно принт вывести в начале цикла. но до меня долго не доходило, "a, b = b, a + b" пока не посмотрел видос))
    n=int(input())
    a=1
    b=1
    for i in range (1, n +1):
    print(a, end = ' ')
    a, b = b, a + b

  • @ВикторДидур-г8т
    @ВикторДидур-г8т 3 года назад

    Изучаю Rust, свой первый язык. Там есть задача написать Генератор Фибоначи. Благодаря вам я понял формулу) спасибо)

  • @ЯрославЗавьялов-г4ъ
    @ЯрославЗавьялов-г4ъ 2 года назад +1

    a=1
    b=1
    i=1
    while i 1
    2 -> 1
    3 -> 2
    4 -> 3
    5 -> 5
    6 -> 8
    7 -> 13
    8 -> 21
    9 -> 34

  • @poprop10
    @poprop10 Год назад

    Как же вы умело орудуюте циклами , как это постичь

  • @vitalytimofeev5476
    @vitalytimofeev5476 2 года назад +3

    Зачем так сложно?
    c=1
    a=0
    a1=1
    n=int(input("введите значение "))
    for i in range(n):
    c=a+a1
    a=a1
    a1=c
    print(c)
    Кажется, это проще и понятнее

    • @younglinux
      @younglinux  2 года назад +2

      Такой вариант не выводит на экран первый элемент ряда Фибоначчи.

  • @ИмяФамилия-ы2з6ч
    @ИмяФамилия-ы2з6ч 2 года назад

    Правильнее будет записать так!
    a=int(input('ввести число: '))
    fb1=1
    fb2=fb1+1
    print(fb1,fb2,end=' ')
    for i in range(2,a):
    fb1,fb2=fb2,fb1+fb2
    print(fb2,end=' ')
    a-=1
    или через цикл while:
    a=int(input('ввести число: '))
    fb1=1
    fb2=fb1+1
    print(fb1,fb2,end=' ')
    while a>2:
    fb1,fb2=fb2,fb1+fb2
    print(fb2,end=' ')
    a-=1
    тогда результат будет:
    ввести число: 6
    1 2 3 5 8 13

    • @electr-i2z
      @electr-i2z 2 года назад

      скажи, зачем минусовать "a -= 1"? и почему while a > 2 ,"именно больше 2" что означает это 2?

  • @chudoudodelt
    @chudoudodelt 3 года назад

    а как сделать чтобы например при поиске ряда чисел фибоначи до вводимого н-го значения в финале выводилось только четные числа?

    • @younglinux
      @younglinux  3 года назад +2

      print(f2, end=' ') поместить в тело if f2 % 2 == 0:

    • @ruyzaki696
      @ruyzaki696 2 года назад

      @@younglinux я наверное не туда что то написал, потому что у меня не сработало, но за то работает если в существующем коде f2 = 1 изменить на f2 = 2. Также вопрос как сделать так что бы после изменений на 5:31 печаталось 1 1 2 3 5..... а не 1 1 1 2 3 5.... Спасибо за видео

    • @ruyzaki696
      @ruyzaki696 2 года назад

      все уже решил сам, вот так:
      n = (int(input("Input until which number count ")))
      f1 = 0
      f2 = 1
      print(f1, f2, end=' ')
      while f2 < n:
      f1, f2 = f2, f1 + f2
      if f2 > n:
      break
      print(f2, end=' ')

    • @younglinux
      @younglinux  2 года назад

      @@ruyzaki696 до цикла может быть например так: print(f2, end=' ')

  • @antonkarpov6864
    @antonkarpov6864 Год назад

    - В конце ролика при выводе до 100 на экран вывелось 1 1 1 2 3 5... , т.е. ряд начался с трёх единиц! Разве это правильно? Что не так? Как правильно?

    • @younglinux
      @younglinux  Год назад +1

      Нужно убрать f2 из print(), которая до цикла while (над ним)

    • @antonkarpov6864
      @antonkarpov6864 Год назад

      @@younglinux спасибо за быстрый ответ! ; )

  • @electr-i2z
    @electr-i2z 2 года назад

    скажи, зачем минусовать "a -= 1"? и почему while a > 2 ,"именно больше 2" что означает это 2?

    • @younglinux
      @younglinux  2 года назад

      Если человек ввел 6, значит на экран надо вывести 6 элементов ряда. Поскольку первые два элемента ряда Фибоначчи (две первые единицы) выводятся до цикла, то количество повторов цикла должно быть 4 (на 2 меньше, чем введенное число). Поскольку до цикла мы не меняем _n_ и оно остается равным 6-ти, то чтобы итераций было только 4, надо уменьшать _n_ не до 0, а до 2-х. В теле цикла выражение n -=1, уменьшает значение n на единицу на каждой итерации цикла.

  • @АйдарЕсм
    @АйдарЕсм 2 года назад

    спасибо большое

  • @ejdjdjejeje8286
    @ejdjdjejeje8286 3 года назад

    Привет, а как сделать так что бы числа выводились с новой строки

  • @ГалинаКудрина-р5ш
    @ГалинаКудрина-р5ш 3 года назад

    а как сделать что n включена в список?

    • @younglinux
      @younglinux  3 года назад

      Если n не является элементом ряда Фибоначчи, она не может быть в него включена.

  • @arturr9170
    @arturr9170 Год назад

    Рекурсия плачет в сторонке

  • @kartoooshka
    @kartoooshka 2 года назад

    Откуда формула f1, f2 = f2, f1 = f2 Я не понимаююю
    Хотя в целом видео полезное

    • @younglinux
      @younglinux  2 года назад +1

      В выражении f1, f2 = f2, f1+ f2 переменной f1 присваивается значение f2, переменной f2 присваивается сумма f1 + f2. Если эту сокращенную запись разложить, то должно быть так:
      b = f1
      f1 = f2
      f2 = b + f2

    • @kartoooshka
      @kartoooshka 2 года назад

      @@younglinux как к такому самому приходить 😅

    • @younglinux
      @younglinux  2 года назад +1

      @@kartoooshka к групповому присваиванию в Питоне (вроде a, b, c = 10, 3, 12) лучше привыкнуть. Оно много где используется.

    • @kartoooshka
      @kartoooshka 2 года назад

      @@younglinux про него я знаю, меня больше пугает, как доходить да таких формул, как с f1, f2... Нужно срочно прокачивать логику ))

    • @Fravije
      @Fravije 2 года назад

      @@younglinux Скажите пожалуйста, групповое присваивание и множественное присваивание это одно и то же или разные понятия?
      Где можно прочитать про это? Может, подскажете автора? (в интернете как-то совсем поверхностно).