diff --git a/Codes/C++/Code-A1 (Fibonacci).cpp b/Codes/C++/Code-A1 (Fibonacci).cpp new file mode 100644 index 0000000..9708e65 --- /dev/null +++ b/Codes/C++/Code-A1 (Fibonacci).cpp @@ -0,0 +1,41 @@ +// Code-A1 (Fibonacci) + +#include +using namespace std; + +// Recursive function for Fibonacci +int fibRecursive(int n) { + if (n <= 1) + return n; // Base case: fib(0)=0, fib(1)=1 + return fibRecursive(n - 1) + fibRecursive(n - 2); +} + +// Non-recursive (Iterative) Fibonacci +int fibIterative(int n) { + if (n <= 1) + return n; + int prev = 0, curr = 1, next; + for (int i = 2; i <= n; i++) { + next = prev + curr; + prev = curr; + curr = next; + } + return curr; +} + +int main() { + int n; + cout << "Enter the number of terms: "; + cin >> n; + + cout << "\nFibonacci Series using Recursion: "; + for (int i = 0; i < n; i++) + cout << fibRecursive(i) << " "; + + cout << "\nFibonacci Series using Iteration: "; + for (int i = 0; i < n; i++) + cout << fibIterative(i) << " "; + + cout << endl; + return 0; +}