c++ fun recursion examples
Example 1: recursion in cpp with reference
#include <iostream>
#include <cstdlib> //had to force it becasue my compiler (Code::Blocks) does not contain system.
using namespace std;
/*int n = 1, sum = 0;
int sumDigits(int n, int sum)
{
//
if (n == 0)
{
return sum;
}
else
{
// applying recursion and returning the value into the function
sum = sum + n%10;
n= n/10;
return sumDigits(n, sum);
}
}
int main(int argc, char* argv[])
{
n = 1, sum = 0;
cout << "Enter a non-negative integer: ";
cin >> n;
sum = sumDigits (n, sum);
cout << "The sum of all digits "<< n << " is: " << sum << endl;
system ("PAUSE");
return 0;
}
*/
int sumDigits(int &);
int main()
{
int n;
sumDigits(n);
}
int sumDigits(int &n)
{
cout << "Enter a non-negative integer: ";
cin >> n;
if (n == 1)
{
return 1;
}
else
{
return (n - 1) + n;
}
cout << "The sum of all digits "<< n << " is: " << n << endl;
system ("PAUSE");
return 0;
}
Example 2: recursion in cpp with reference
void sum_digits(int & n, int & sum)
{
if ( n == 0 ) return;
sum += n % 10;
n /= 10;
sum_digits(n, sum);
}
#include <iostream>
using namespace std;
int main()
{
int n, sum=0;
cout << "enter a non-negative number" << endl;
cin >> n;
if ( n < 0 ) return -1; // don't trust the user
sum_digits(n,sum);
cout << "sum is " << sum << endl;
}