• написати функцію, яка приймає натуральне число n і повертає суму n-e числа Фібоначчі і факторіала цього числа. пайтон

Ответы 1

  • Якщо ми хочемо знайти n-е число Фібоначчі, ми можемо використовувати рекурсію або ітерацію. Однак, якщо n буде дуже велике, це може вимагати багато обчислень, тому ми можемо скористатися формулою Бінета для швидкого обчислення n-го числа Фібоначчі:

    = [ (1 + √5) / 2 ] ^ n / √5 - [ (1 - √5) / 2 ] ^ n / √5

    Для обчислення факторіала ми також можемо використовувати рекурсію або ітерацію. Однак, якщо n буде дуже велике, це може призвести до переповнення стеку в рекурсивній функції. Тому ми можемо використовувати формулу Стірлінга для приблизного обчислення факторіала:

    n! ≈ √(2πn) * (n / e) ^ n

    Отже, наша функція може виглядати так:

    import math

    def fib_fact_sum(n):

    phi = (1 + math.sqrt(5)) / 2

    fib = int((phi ** n) / math.sqrt(5) + 0.5)

    fact = int(math.sqrt(2 * math.pi * n) * ((n / math.e) ** n) + 0.5)

    return fib + fact

    Тепер ми можемо викликати нашу функцію зі значенням n:

    print(fib_fact_sum(6)) # поверне 25

    • Автор:

      jaxonzifx
    • 1 год назад
    • 2
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years