Summary Files Commits Branches @commit @diff @stats
path: root / Year 1 / Programming introduction / Homeworks / homework1.cpp
diff options
context:
space:
mode:
Commite272d23b4dd1fa776b399be4f838ecb6a9ac56ff (patch)
Author
 Syndamia <kamen.d.mladenov@protonmail.com>
2021-11-20 21:30:06 +0200
Committer
 Syndamia <kamen.d.mladenov@protonmail.com>
2021-11-20 21:30:06 +0200
Filesbc93a81d189506dde8b3b8f9173710fa9c6062fb /Year 1/Programming introduction/Homeworks/homework1.cpp
uni-projects-e272d23b4dd1fa776b399be4f838ecb6a9ac56ff.tar
uni-projects-e272d23b4dd1fa776b399be4f838ecb6a9ac56ff.tar.gz
uni-projects-e272d23b4dd1fa776b399be4f838ecb6a9ac56ff.zip
Parent6783d73f706485947d2f124542106b1b31c42e8b (diff)
Reworked ex 1 to be iterative
1 files changed, 9 insertions, 4 deletions
-rw-r--r--Year 1/Programming introduction/Homeworks/homework1.cpp13
diff --git a/Year 1/Programming introduction/Homeworks/homework1.cpp b/Year 1/Programming introduction/Homeworks/homework1.cpp
index 8a06baf..f4ca9b9 100644
--- a/Year 1/Programming introduction/Homeworks/homework1.cpp
+++ b/Year 1/Programming introduction/Homeworks/homework1.cpp
@@ -8,11 +8,16 @@ using namespace std;
*/
double f(unsigned int k, int x) {
- if (k == 1) return x;
+ double sum = x;
- if (k & 1)
- return 3 * f(k - 1, x) + 1;
- return f(k - 1, x) / 2;
+ for (unsigned int i = 2; i <= k; i++) {
+ if (i & 1) // if odd
+ sum = 3 * sum + 1;
+ else
+ sum /= 2;
+ }
+
+ return sum;
}
void ex1() {