Summary Files Commits Branches @commit @diff @stats
path: root / Year 1 / Programming introduction / Homeworks / homework1.cpp
diff options
context:
space:
mode:
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() {