#include<iostream>
using namespace std;
int g(int m, int n);
int f(int m, int n);
int main()
{
int m,n;
m=4321;
n=4;
cout<<g(m,n);
}
int f(int m, int n) {
int q,r;
if (m == 0) return n;
else {
q = m /10;
r = m %10;
return f(q, 10*n + r);
}
}
int g(int m, int n)
{
int q,r;
if (n == 0)
return m;
else {
q = m/10;
r = m%10;
return g(f(f(q, 0), r), n-1);
}
}
it will return same number let m=4321,n=4 //Number or digits in m first f() call will reverse then again reverse so it will be same number