Website Summary Files Commits Branches @commit @diff @stats
path: root / Seminar02 / recursion.cpp
diff options
context:
space:
mode:
1 files changed, 0 insertions, 33 deletions
-rw-r--r--Seminar02/recursion.cpp33
diff --git a/Seminar02/recursion.cpp b/Seminar02/recursion.cpp
deleted file mode 100644
index 63f4aa0..0000000
--- a/Seminar02/recursion.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-#include<iostream>
-#include<stack>
-
-int fib(unsigned x) {
- if(x == 0 || x == 1)
- return 1;
-
- return fib(x - 1) + fib(x - 2);
-}
-
-// Малък пример как можем да симулираме рекурсия чрез стек.
-int fibStack(unsigned x) {
- std::stack<unsigned> s;
- s.push(x);
- int result = 0;
-
- while(!s.empty()) {
- int currArg = s.top();
- s.pop();
-
- if(currArg == 1 || currArg == 0)
- ++result; // Еквивалентно на return 1;
- else{
- s.push(currArg - 1); // Еквивалентно на fib(x - 1);
- s.push(currArg - 2); // Еквивалентно на fib(x - 2);
- }
- }
- return result;
-}
-
-int main() {
- std::cout << fib(10) << " " << fibStack(10);
-}