Advertisement
Pearlfromsu

big fibonacci modulo m c++

Mar 18th, 2023
592
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.39 KB | None | 0 0
  1. #include <iostream>
  2. #include <unordered_map>
  3.  
  4. using namespace std;
  5.  
  6. unordered_map<long long, long long> Fib;
  7.  
  8. long long fib(long long n)
  9. {
  10.     if (n < 2) return 1;
  11.     if (Fib.find(n) != Fib.end()) return Fib[n];
  12.     Fib[n] = (fib((n + 1) / 2) * fib(n / 2) + fib((n - 1) / 2) * fib((n - 2) / 2)) % 1000000007;
  13.     return Fib[n];
  14. }
  15.  
  16. int main()
  17. {
  18.     long long N;
  19.     cin >> N;
  20.     cout << fib(N);
  21. }
  22.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement