summaryrefslogtreecommitdiff
path: root/tests/exec/pow_rec.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/exec/pow_rec.cpp')
-rw-r--r--tests/exec/pow_rec.cpp22
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";
+}