diff options
author | Santo Cariotti <dcariotti24@gmail.com> | 2020-07-19 21:24:19 +0200 |
---|---|---|
committer | Santo Cariotti <dcariotti24@gmail.com> | 2020-07-19 21:24:19 +0200 |
commit | 3833c952f1dff3957bc423045df6d52c14a6db78 (patch) | |
tree | fd6b2a4ebb3fded7be43bce82aaac03912119b55 /I_anno/Programmazione_2/algorithms/pow.cc | |
parent | 0c6faed1acb130ae5bbc572dc7194a263f1cca6c (diff) |
chore: new algorithms
Diffstat (limited to 'I_anno/Programmazione_2/algorithms/pow.cc')
-rw-r--r-- | I_anno/Programmazione_2/algorithms/pow.cc | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/I_anno/Programmazione_2/algorithms/pow.cc b/I_anno/Programmazione_2/algorithms/pow.cc new file mode 100644 index 0000000..70f5b43 --- /dev/null +++ b/I_anno/Programmazione_2/algorithms/pow.cc @@ -0,0 +1,34 @@ +#include<iostream> + +using namespace std; + +int pow(int b, int e) { + if(e == 0) return 1; + int a = b; + int inc = b; + for(int i = 0; i < e-1; ++i) { + for(int j = 0; j < b-1; ++j) { + a+=inc; + } + inc = a; + } + return a; +} + +int mul(int b, int e) { + if(e == 0) return 0; + + return b+mul(b, e-1); +} + +int pow2(int b, int e) { + if(e == 0) return 1; + + return mul(b, pow(b, e-1)); +} + +int main() { + cout << pow(2, 5) << endl; + cout << pow2(2, 5) << endl; + return 0; +} |