diff options
Diffstat (limited to 'tests/exec/pow_rec.cpp')
-rw-r--r-- | tests/exec/pow_rec.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/exec/pow_rec.cpp b/tests/exec/pow_rec.cpp new file mode 100644 index 0000000..5016246 --- /dev/null +++ b/tests/exec/pow_rec.cpp @@ -0,0 +1,22 @@ +#include <iostream> + +class Puiss { +public: + int pow(int a, int n); +}; + +int Puiss::pow(int a, int n) { + if (n <= 0) + return 1; + int r = pow(a, n / 2); + r = r * r; + if (n % 2 == 0) + return r; + return r * a; +} + +int main() { + Puiss p; + std::cout << p.pow(2, 4) << "\n"; + std::cout << p.pow(6, 3) << "\n"; +} |