summaryrefslogtreecommitdiff
path: root/sem_2/HLIN202/TP/TP3-4/ex12/exo12.cpp
diff options
context:
space:
mode:
authorGaspard Coulet <gaspard.coulet@mines-ales.org>2021-04-28 23:05:53 +0200
committerGaspard Coulet <gaspard.coulet@mines-ales.org>2021-04-28 23:05:53 +0200
commit9fe033ea88c2f705ec18c232873d056e0c229d72 (patch)
tree0647dc8c51610c7336c88c04de2068ea14b21e17 /sem_2/HLIN202/TP/TP3-4/ex12/exo12.cpp
Initial commit
Diffstat (limited to 'sem_2/HLIN202/TP/TP3-4/ex12/exo12.cpp')
-rw-r--r--sem_2/HLIN202/TP/TP3-4/ex12/exo12.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/sem_2/HLIN202/TP/TP3-4/ex12/exo12.cpp b/sem_2/HLIN202/TP/TP3-4/ex12/exo12.cpp
new file mode 100644
index 0000000..dca387c
--- /dev/null
+++ b/sem_2/HLIN202/TP/TP3-4/ex12/exo12.cpp
@@ -0,0 +1,23 @@
+#include<iostream>
+
+int ackermann (int m, int n) {
+ int rslt=0;
+ if ( m == 0 && n>=0) {
+ rslt=n+1;
+ }
+ else if ( n==0 && m>0) {
+ rslt= ackermann(m-1,1);
+ }
+ else {
+ rslt= ackermann(m-1,ackermann(m,n-1));
+ }
+ return rslt;
+}
+
+int main () {
+ int n,m;
+ std::cout<<" Entrez deux nombre m et n, ce programme calcule la valeur de la fonction d'ackermann pour (m,n)"<<std::endl;
+ std::cin>>m>>n;
+ std::cout<<ackermann(m,n)<<std::endl;
+ return 0;
+}