C++ Exercises: Compute the sum of two given non-negative integers x and y as long as the sum has the same number of digits as x
Sum with Same Number of Digits or Return x
Write a C++ program to compute the sum of two given non-negative integers x and y as long as the sum has the same number of digits as x. If the sum has more digits than x, return x without y.
Sample Solution:
C++ Code :
#include <iostream>
#include <string> // Included library for string handling
using namespace std;
// Function 'test' takes two integers (x, y) as parameters
int test(int x, int y)
{
// Converts the sum of x and y to a string and checks if its length
// is greater than the length of x converted to a string
// Returns x if the length of x is smaller than the length of x + y,
// otherwise returns the sum of x and y
return to_string(x + y).length() > to_string(x).length() ? x : x + y;
}
int main()
{
// Testing the 'test' function with different sets of numbers
cout << test(4, 5) << endl;
cout << test(7, 4) << endl;
cout << test(10, 10) << endl;
return 0;
}
Sample Output:
9 7 20
Visual Presentation:

Flowchart:

For more Practice: Solve these Related Problems:
- Write a C++ program to add two non-negative integers and return the sum only if it has the same number of digits as the first integer; otherwise, return the first integer.
- Write a C++ program that reads two numbers and checks if the digit count of their sum matches the digit count of the first number, outputting either the sum or the first number accordingly.
- Write a C++ program to compute the sum of two integers and compare the number of digits in the result with the first integer’s length, then return the appropriate value.
- Write a C++ program that adds two integers and validates the digit length of the sum against the first input, returning the first input if the sum exceeds the length.
C++ Code Editor:
Contribute your code and comments through Disqus.
Previous: Write a C++ program to check two given integers, each in the range 10..99. Return true if a digit appears in both numbers, such as the 3 in 13 and 33.
Next: Write a C++ program to compute the sum of three given integers. If the two values are same return the third value.
What is the difficulty level of this exercise?