commit ad1ff383ef356305b9d6341ee46370b2b8caab9a Author: NaiJi Date: Tue Aug 31 12:42:13 2021 +0300 4.1 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5761abc --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.o diff --git a/4.1/sum.cpp b/4.1/sum.cpp new file mode 100644 index 0000000..c3e8d8f --- /dev/null +++ b/4.1/sum.cpp @@ -0,0 +1,14 @@ +#include + +int sum(int n) +{ + return (n != 0) + ? n + sum(n - 1) + : n; +} + +int main() +{ + int n = 5; + std::cout << "For n = " << n << " sum is " << sum(n) << '\n'; +} diff --git a/4.1/sum_tail.cpp b/4.1/sum_tail.cpp new file mode 100644 index 0000000..0e27694 --- /dev/null +++ b/4.1/sum_tail.cpp @@ -0,0 +1,19 @@ +#include + +int sumStep(int n, int s) +{ + return (n != 0) + ? sumStep(n - 1, n + s) + : s; +} + +int sum(int n) +{ + return sumStep(n, 0); +} + +int main() +{ + int n = 5; + std::cout << "For n = " << n << " sum is " << sum(n) << '\n'; +}