diff --git a/Programs- Coder/C++/Fibonacci series/a.exe b/Programs- Coder/C++/Fibonacci series/a.exe new file mode 100644 index 0000000..17e2d55 Binary files /dev/null and b/Programs- Coder/C++/Fibonacci series/a.exe differ diff --git a/Programs- Coder/C++/Fibonacci series/fibonacci_optimised.cpp b/Programs- Coder/C++/Fibonacci series/fibonacci_optimised.cpp new file mode 100644 index 0000000..43b8184 --- /dev/null +++ b/Programs- Coder/C++/Fibonacci series/fibonacci_optimised.cpp @@ -0,0 +1,27 @@ +#include +using namespace std; +int fibonacci_naive(int n) { + if (n <= 1) + return n; + + return fibonacci_naive(n - 1) + fibonacci_naive(n - 2); +} + +int fibonacci_fast(int n) { + int prev = 0, next = 1, ans; + if(n==0) return prev; + for(int i=2; i<=n ; i++){ + ans = prev + next; + prev = next; + next = ans; + } + + return next; +} + +int main() { + int n = 0; + cin >> n; + cout << fibonacci_fast(n) << '\n'; + return 0; +}