Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 25.10.2021
Сообщений: 61

Напечатать k цифру последовательности 1123581321, содержащую подряд все числа Фибоначчи

28.03.2022, 21:40. Показов 3218. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно вывести цифру последовательности, т.е человек вводит 5, то в данной последовательности это число и будет = 5, если, например, 8 то должно вывести 3 и т.п. Желательно без использования функций строк. Алгоритм, вывода чисел Фиббоначи у меня уже есть. Помогите пж.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
from math import *
try:
    k = int(input("Введите k:"))
except ValueError:
        print("Введены некорректные данные!")
a = 1
b = 1
print(a,b, sep ='\n')
for i in range (2,k):
    c = a + b
    a = b
    b = c
    print(b)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.03.2022, 21:40
Ответы с готовыми решениями:

Составить программу, печатающую К-ю цифру последовательности 1123581321.,в которой выписаны подряд все числа Фибоначчи
Составить программу, печатающую К - ю цифру последовательности 1123581321...,в которой выписаны подряд все числа Фибоначчи.

Составить программу, печатающую k ю цифру последовательности 1123581321.,в которой выписаны подряд все числа Фибоначчи
Составить программу, печатающую k-ю цифру последовательности 1123581321...,в которой выписаны подряд все числа Фибоначчи. Уважаемые...

Составить программу, печатающую k ю цифру последовательности 1123581321.,в которой выписаны подряд все числа Фибоначчи
Составить программу, печатающую k-ю цифру последовательности 1123581321...,в которой выписаны подряд все числа Фибоначчи.

12
20 / 13 / 8
Регистрация: 14.03.2022
Сообщений: 36
28.03.2022, 22:16
Python
1
2
n = int(input('Введите n:')) 
print(b[n-1: n] )
0
0 / 0 / 0
Регистрация: 25.10.2021
Сообщений: 61
29.03.2022, 09:53  [ТС]
Не работает
0
20 / 13 / 8
Регистрация: 14.03.2022
Сообщений: 36
29.03.2022, 10:30
Так у Вас и алгоритм не рабочий. Сделайте чтобы в b была строка с последовательностью и будет счастье) Правда не полное. Так можно вывести символ с заданной позиции, но если вам нужен именно элемент последовательности, то возможно лучсе сразу использовать список.
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
29.03.2022, 10:39
polovni44ek, как вариант
Python
1
2
3
4
5
6
7
8
k = 1234567
a = b = 1
s = 2
while s < k:
    a, b = b, a+b 
    s += len(str(b))
 
print(str(b)[k-s-1])
0
Вирусоборец
 Аватар для thyrex
14450 / 7489 / 1582
Регистрация: 06.09.2009
Сообщений: 27,133
29.03.2022, 10:39
Лучший ответ Сообщение было отмечено polovni44ek как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
k = int(input("k = "))
if k == 1 or k == 2:
    print(1)
else:
    a = 1
    b = 1
    s = str(a)+str(b)
    while len(s)<k:
        c = a+b
        a = b
        b = c
        s += str(c)
    print(s[k-1])
0
0 / 0 / 0
Регистрация: 25.10.2021
Сообщений: 61
29.03.2022, 10:57  [ТС]
Спасибо большое, очень помогли)
0
20 / 13 / 8
Регистрация: 14.03.2022
Сообщений: 36
29.03.2022, 11:06
Вот что я имел ввиду:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
n=input('Введите количество : ')
 
for i in range(int(n) ) :
    if i == 0: 
        fib=[1]
        continue 
    if i == 1: 
        fib.append(1)
    else:
        fib.append(fib[i-1]+fib[i-2])
    
print(*fib)
print(fib[int(input(f'Введите номер элемента <= {n} :'))-1])
0
0 / 0 / 0
Регистрация: 25.10.2021
Сообщений: 61
29.03.2022, 11:47  [ТС]
thyrex, всё отлично работает, единственное, как это сделать без использования строк (str, len). Это важный момент

Добавлено через 9 минут
thyrex, , обрати внимание) чуть выше написал
0
Вирусоборец
 Аватар для thyrex
14450 / 7489 / 1582
Регистрация: 06.09.2009
Сообщений: 27,133
29.03.2022, 12:38
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
def dlist(x):
    res = []
    while x>0:
        res.insert(0, x%10)
        x //= 10
    return res    
 
k = int(input("k = "))
if k == 1 or k == 2:
    print(1)
else:
    a = 1
    b = 1
    lst = [a]+[b]
    while len(lst)<k:
        c = a+b
        a = b
        b = c
        lst += dlist(c)
    print(lst[k-1])
Добавлено через 3 минуты
Или так

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
k = int(input("k = "))
if k == 1 or k == 2:
    print(1)
else:
    a = 1
    b = 1
    lst = [a]+[b]
    while len(lst)<k:
        p = len(lst)
        c = a+b
        a = b
        b = c
        while c>0:
            lst.insert(p, c%10)
            c //= 10
    print(lst[k-1])
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
29.03.2022, 13:47

Python
1
2
3
4
5
6
7
8
9
from math import ceil, log10
k = 1234567890
a = b = 1
 
k -= 2 + (k==1)
while k > 0:
    a, b = b, a+b 
    k -= ceil(log10(b))
print(b//10**(-k)%10)
1
0 / 0 / 0
Регистрация: 25.10.2021
Сообщений: 61
29.03.2022, 18:16  [ТС]
thyrex, ещё раз спасибо, но нужно было и без массивов, only какие-то свои алгоритмы придумывать. Но ещё раз спасибо.

Добавлено через 1 минуту
Gdez, скорее всего то, что нужно ) Спасибо. Только единственное, не совсем понимаю, почему в 1 строку a, b = b, a+b (7 строка), поясните пожалуйста
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
29.03.2022, 20:39
polovni44ek, https://pythonpip.ru/examples/... iya-tretey
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.03.2022, 20:39
Помогаю со студенческими работами здесь

Напечатать к-ю цифру последовательности, в которой вписаны все подряд числа Фибоначчи
Напечатать k-ю цифру последовательности, в которой вписаны все подряд числа Фибоначчи привет всем написал программу которая...

Напечатать k-ю цифру последовательности, в которой выписаны подряд все числа Фибоначчи
Напечатать k-ю цифру последовательности, в которой выписаны подряд все числа Фибоначчи

Напечатать k-ю цифру последовательности, в которой вписаны все подряд числа Фибоначчи
Дано натуральное число k, напечатать k-ю цифру последовательности 1123581321 ..., в которой вписаны все подряд числа Фибоначчи.

Напечатать к-ю цифру последовательности, в которой выписаны подряд все числа Фибоначчи
Дано натуральное к. Напечатать к-ю цифру последова¬тельности 1123581321..., в которой выписаны подряд все числа Фибоначчи. Необходимо...

Напечатать заданную цифру последовательности, в которой выписаны подряд все числа Фибоначчи
Дано натуральное k. Напечатать k-ую ЦИФРУ последовательности 11235813..., в которой выписаны подряд все числа Фибоначчи. Добавлено...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru