Write a program which takes a 9-digit number input from user, converts it into its reverse
and then display one of the following statements: (10 marks)
• Original number is x steps bigger (where x is the difference between the two)
• Reversed number is x steps bigger
• Both numbers are equal; hence it is a palindrome.
#include <iostream>
using namespace std;
long reverse(long x, int n)
{
int d;
long res = 0;
for (int i=0; i<n; i++) {
d = x % 10;
x /= 10;
res *= 10;
res += d;
}
return res;
}
int main() {
long num, rev;
cin >> num;
rev = reverse(num, 9);
if (num > rev) {
cout << "Original number is " << num - rev
<< " steps bigger" << endl;
}
else if (rev > num) {
cout << "Reversed number is " << rev - num
<< " steps bigger" << endl;
}
else {
cout << "Both numbers are equal; hence it is a palindrome." << endl;
}
return 0;
}
Comments
Leave a comment