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

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

28.03.2022, 21:40. Показов 3144. Ответов 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
8849 / 4501 / 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
14440 / 7482 / 1579
Регистрация: 06.09.2009
Сообщений: 27,119
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
14440 / 7482 / 1579
Регистрация: 06.09.2009
Сообщений: 27,119
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
8849 / 4501 / 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
8849 / 4501 / 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
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru