No video

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

  Рет қаралды 34,936

Лаборатория линуксоида

Лаборатория линуксоида

Күн бұрын

Вывод на экран ряда Фибоначчи с помощью циклов while и for языка программирования Python.
Числа Фибоначчи - это ряд чисел, в котором каждое следующее число равно сумме двух предыдущих.
Подробное описание задачи и алгоритм решения: younglinux.inf...
Больше задач: younglinux.inf...
Приложение для андроид: play.google.co...
Купить PDF-версию (100 задач): younglinux.inf...

Пікірлер: 35
@MAUZER696
@MAUZER696 3 жыл бұрын
Со Степика трафик идёт.
@user-jh1rp1ut2f
@user-jh1rp1ut2f Жыл бұрын
и не прекращается))
@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
@user-hw6xz2wo2l
@user-hw6xz2wo2l 2 жыл бұрын
Изучаю Rust, свой первый язык. Там есть задача написать Генератор Фибоначи. Благодаря вам я понял формулу) спасибо)
@poprop10
@poprop10 Жыл бұрын
Как же вы умело орудуюте циклами , как это постичь
@user-ck9rc7fr2h
@user-ck9rc7fr2h 2 жыл бұрын
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
@user-be6zk7kp1y
@user-be6zk7kp1y 2 жыл бұрын
спасибо большое
@electr-i2z
@electr-i2z Жыл бұрын
скажи, зачем минусовать "a -= 1"? и почему while a > 2 ,"именно больше 2" что означает это 2?
@younglinux
@younglinux Жыл бұрын
Если человек ввел 6, значит на экран надо вывести 6 элементов ряда. Поскольку первые два элемента ряда Фибоначчи (две первые единицы) выводятся до цикла, то количество повторов цикла должно быть 4 (на 2 меньше, чем введенное число). Поскольку до цикла мы не меняем _n_ и оно остается равным 6-ти, то чтобы итераций было только 4, надо уменьшать _n_ не до 0, а до 2-х. В теле цикла выражение n -=1, уменьшает значение n на единицу на каждой итерации цикла.
@antonkarpov6864
@antonkarpov6864 Жыл бұрын
- В конце ролика при выводе до 100 на экран вывелось 1 1 1 2 3 5... , т.е. ряд начался с трёх единиц! Разве это правильно? Что не так? Как правильно?
@younglinux
@younglinux Жыл бұрын
Нужно убрать f2 из print(), которая до цикла while (над ним)
@antonkarpov6864
@antonkarpov6864 Жыл бұрын
@@younglinux спасибо за быстрый ответ! ; )
@user-kz3mw1hm4i
@user-kz3mw1hm4i Жыл бұрын
Правильнее будет записать так! 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 Жыл бұрын
скажи, зачем минусовать "a -= 1"? и почему while a > 2 ,"именно больше 2" что означает это 2?
@vitalytimofeev5476
@vitalytimofeev5476 2 жыл бұрын
Зачем так сложно? 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 жыл бұрын
Такой вариант не выводит на экран первый элемент ряда Фибоначчи.
@chudoudodelt
@chudoudodelt 2 жыл бұрын
а как сделать чтобы например при поиске ряда чисел фибоначи до вводимого н-го значения в финале выводилось только четные числа?
@younglinux
@younglinux 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=' ')
@arturr9170
@arturr9170 Жыл бұрын
Рекурсия плачет в сторонке
@user-xq6oe1xb6c
@user-xq6oe1xb6c 3 жыл бұрын
а как сделать что n включена в список?
@younglinux
@younglinux 3 жыл бұрын
Если n не является элементом ряда Фибоначчи, она не может быть в него включена.
@ejdjdjejeje8286
@ejdjdjejeje8286 2 жыл бұрын
Привет, а как сделать так что бы числа выводились с новой строки
@batyrshirmatov8297
@batyrshirmatov8297 2 жыл бұрын
end=' '
@user-ys4wr8uu3l
@user-ys4wr8uu3l 2 жыл бұрын
@@batyrshirmatov8297 а что выполняет функция f1 f2 и тд
@user-ys4wr8uu3l
@user-ys4wr8uu3l 2 жыл бұрын
@@batyrshirmatov8297 а для чего выполняет f1 f2 и тд?
@kartoooshka
@kartoooshka 2 жыл бұрын
Откуда формула f1, f2 = f2, f1 = f2 Я не понимаююю Хотя в целом видео полезное
@younglinux
@younglinux 2 жыл бұрын
В выражении f1, f2 = f2, f1+ f2 переменной f1 присваивается значение f2, переменной f2 присваивается сумма f1 + f2. Если эту сокращенную запись разложить, то должно быть так: b = f1 f1 = f2 f2 = b + f2
@kartoooshka
@kartoooshka 2 жыл бұрын
@@younglinux как к такому самому приходить 😅
@younglinux
@younglinux 2 жыл бұрын
@@kartoooshka к групповому присваиванию в Питоне (вроде a, b, c = 10, 3, 12) лучше привыкнуть. Оно много где используется.
@kartoooshka
@kartoooshka 2 жыл бұрын
@@younglinux про него я знаю, меня больше пугает, как доходить да таких формул, как с f1, f2... Нужно срочно прокачивать логику ))
@Fravije
@Fravije Жыл бұрын
@@younglinux Скажите пожалуйста, групповое присваивание и множественное присваивание это одно и то же или разные понятия? Где можно прочитать про это? Может, подскажете автора? (в интернете как-то совсем поверхностно).
Задача из Собеседования на 160,000 Евро в Год
13:27
Саша Лукин
Рет қаралды 1,1 МЛН
This Dumbbell Is Impossible To Lift!
01:00
Stokes Twins
Рет қаралды 30 МЛН
UNO!
00:18
БРУНО
Рет қаралды 5 МЛН
Schoolboy Runaway в реальной жизни🤣@onLI_gAmeS
00:31
МишАня
Рет қаралды 3,7 МЛН
ТОП 5 Ошибок в написании функций Python
12:46
Числа Фибоначчи
16:29
GetAClass - Просто математика
Рет қаралды 66 М.
АЛГОРИТМЫ В PYTHON. ЦИКЛ WHILE. РАЗЖЕВАЛ ДО МОЛЕКУЛ.
36:40
Решение задачи acmp № 196 Спираль
14:31
egoroff_channel
Рет қаралды 26 М.
7  ПАРАДОКСОВ БЕСКОНЕЧНОСТИ
36:02
Mathin
Рет қаралды 717 М.