Вывод чисел Фибоначчи циклом for
В данном случае выводится не только значение искомого элемента ряда Фибоначчи, но и все числа до него включительно. Для этого вывод значения fib2 помещен в цикл.
fib1 = fib2 = 1
n = int(input())
print(fib1, fib2, end=' ')
for i in range(2, n):
fib1, fib2 = fib2, fib1 + fib2
print(fib2, end=' ')
Пример выполнения:
10
1 1 2 3 5 8 13 21 34 55
Заметим, что в языке Python есть встроенная функция bin(), которая переводит десятичное число в двоичную систему счисления.
>>> bin(5)
'0b101'
>>> bin(10)
'0b1010'
Здесь же рассматривается алгоритм такого перевода и его реализация на Python.
Обычно десятичное число преобразуют к двоичному представлению путем нахождения остатков от деления на 2. При этом полученное на предыдущем шаге частное выступает в качестве делимого на следующем шаге. Деление заканчивается, когда делимое обращается в ноль. Остатки собираются в двоичное число начиная с конца, то есть последний остаток будет первой цифрой двоичного числа. Например, надо перевести число 8 в двоичную систему:
8 / 2 = 4, остаток 0
4 / 2 = 2, остаток 0
2 / 2 = 1, остаток 0
1 / 2 = 0, остаток 1
0 - конец деления
Сборка: 10002
При реализации данного алгоритма с помощью языка программирования надо организовать хранение остатков. Сделать это можно в переменной строкового типа или в списке. В случае строки каждый новый остаток следует добавлять в начало.
n = int(input())
b = ''
Достарыңызбен бөлісу: |