Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
63 / 52 / 11
Регистрация: 14.01.2021
Сообщений: 406

Генерация k наччи чисел

06.03.2021, 23:48. Показов 1394. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я написал код для k-наччи чисел с рекурсией.
Python
1
2
3
4
5
6
from functools import lru_cache
 
 
@lru_cache
def k_nacci(k, n):
    return 0 if n < k else 1 if n == k else sum(k_nacci(k, n - i) for i in range(1, k + 1))
Как его ускорить для больших k и можно ли написать получше?

Добавлено через 12 минут
если кому-то нужно:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
@lru_cache
def tribonacci(n):
    return 0 if n < 2 else 1 if n == 2 else sum(tribonacci(n - i) for i in range(1, 4))
 
 
@lru_cache
def tetranacci(n):
    return 0 if n < 3 else 1 if n == 3 else sum(tetranacci(n - i) for i in range(1, 5))
 
 
@lru_cache
def pentanacci(n):
    return 0 if n < 4 else 1 if n == 4 else sum(pentanacci(n - i) for i in range(1, 6))
 
 
@lru_cache
def hexanacci(n):
    return 0 if n < 5 else 1 if n == 5 else sum(hexanacci(n - i) for i in range(1, 7))
 
 
@lru_cache
def heptanacci(n):
    return 0 if n < 6 else 1 if n == 6 else sum(heptanacci(n - i) for i in range(1, 8))
 
 
@lru_cache
def octanacci(n):
    return 0 if n < 7 else 1 if n == 7 else sum(octanacci(n - i) for i in range(1, 9))
 
 
@lru_cache
def enneanacci(n):
    return 0 if n < 8 else 1 if n == 8 else sum(enneanacci(n - i) for i in range(1, 10))
 
 
@lru_cache
def decanacci(n):
    return 0 if n < 9 else 1 if n == 9 else sum(decanacci(n - i) for i in range(1, 11))
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.03.2021, 23:48
Ответы с готовыми решениями:

Константа n-наччи
Здравствуйте. Многие знают про числа Фибоначчи и про константу фи, которая появляется из таких соображений: Ряд задаётся такой...

Генерация случайных чисел с учётом уже имеющихся чисел. (C++ Builder 6)
Здравствуйте. Появилось желание создать программу генерации случайных чисел с учётом уже имеющихся чисел. Идея в том, что в TEdit вводится...

Генерация случайных чисел от -10 до 10 и подсчет сколько в этой последовательности чисел происходило смен знака
Компьютер последовательно генерирует 100 случайных чисел в диапазоне от -10 до 10.Подсчитать сколько в этой последовательности чисел...

22
Заклинатель змей
 Аватар для DobroAlex
705 / 560 / 219
Регистрация: 30.04.2016
Сообщений: 2,605
08.03.2021, 19:41
Студворк — интернет-сервис помощи студентам
gray621,
Python
1
dp
Во второй строке создаёт массив, где все элементы указывают на одну ячейку памяти => изменение любого элемента массива перезаписывает все элементы массива. Замените на
Python
1
dp = [ 0 for _ in range(0, n+2)]
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
08.03.2021, 19:50
Цитата Сообщение от DobroAlex Посмотреть сообщение
где все элементы указывают на одну ячейку памяти
Тут вы не правы. int - неизменяемый тип данных.
Цитата Сообщение от DobroAlex Посмотреть сообщение
изменение любого элемента массива перезаписывает все элементы массива
Создает новый элемент.
P. S. А косяк был в том, что k - 1 должно быть <= n.
1
63 / 52 / 11
Регистрация: 14.01.2021
Сообщений: 406
08.03.2021, 21:51  [ТС]
Arsegg, всё-таки куда поставить нужно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.03.2021, 21:51
Помогаю со студенческими работами здесь

Генерация чисел без повторяющихся чисел
Долго думаю и сейчас пытаюсь найти алгоритм. Требуется как можно быстрее (не более 5-7 минут) сгенерировать все числа без повторяющихся...

Генерация чисел
Помогите написать программу, а мучусь уже два часа. :) Нужно сгенерировать 30 трёхзначных чисел, и что бы в цифры этих чисел не были...

Генерация чисел
Здравствуйте! Подскажите как в этой программе добавить генерацию чисел любую(5-36,6-45,7-49),и чтоб окно менялось соответственно.В самом...

Генерация чисел
Здравствуйте! Пишу программу Генератор случайных чисел Методом середины квадратов. Задача – создать массив из 200 вещественных чисел от 0...

Генерация чисел.
Помогите с программой,в обшем в программе 2 edit'а в первый мы вбиваем числа которые надо использовать для генерации,а во второй количество...


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

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru