Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Live Fibonacci and SQL

HardPython00:00
Practice interviewer
In session
5 left
00:00

Your question is Live Fibonacci and SQL. Start with the requirements on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

Preply may need to generate large numeric sequences for learning exercises without constructing enormous integers. Given n and a modulus, compute the nth Fibonacci number efficiently.

Define the sequence as F(0) = 0, F(1) = 1, and F(n) = F(n - 1) + F(n - 2) for n >= 2.

Return F(n) % mod. Your solution must handle very large values of n without iterating through every preceding Fibonacci number.

Formal Specification

Implement fibonacci(n, mod):

  • Input: n, a non-negative integer, and mod, an integer greater than 1.
  • Output: An integer in the range [0, mod - 1] equal to F(n) % mod.

Use the fast-doubling identities to reduce the problem size by half at each recursive step.

Constraints

  • 0 <= n <= 10^18
  • 2 <= mod <= 10^9 + 7
  • Return a value between 0 and mod - 1
  • Do not generate the full Fibonacci sequence

Function Signature

def fibonacci(n, mod):
Your solutionPython 3
You need to log in / sign up to run or submit.
Run your code to see test output