×

Palindrome Number Program in C++

A palindrome number is one that is the same when it is reversed. Palindrome numbers include 22, 33, 44, 55, 66, 77, 88, and 99.

Algorithm for Palindrome Numbers

  • Get the user's phone number.
  • Keep the value in a temporary variable.
  • Reverse the digits
  • Compare the temporary number to the number in reverse.
  • Print a palindrome number if both numbers are the same.
  • Otherwise, do not print a palindrome number.

Let's look at a C++ palindrome program. In this program, we will take a user input and determine whether or not the integer is palindrome.

#include <iostream>  
#include <bits/stdc++.h>
#include <stdlib>
using namespace std;  
int main()  
{  
  int num,i,sum=0,temp;    
  cout<<"Enter the Number=";    
  cin>>num;    
 temp=num;    
 while(n>0)    
{    
 i=num%10;    
 sum=(sum*10)+i;    
 num=num/10;    
}    
if(temp==sum)    
cout<<"Number you entered is Palindrome.";    
else    
cout<<"Number you entered is not Palindrome.";   
  return 0;  
}  

OUTPUT

Enter the Number= 22
Number you entered is Palindrome.


Enter the Number= 112
Number you entered is not Palindrome.

Explanation of the above code:

User is prompted to input a positive integer, which is saved in the variable num, in the above code. The number is then stored in a variable called num, which is used to check whether the original number has been reversed. Code number = num% 10; used to divide the last digit of a number within a do ... while loop. The time frame is then updated with this digit. To add a digit to the nth place in a number, we must first multiply the current data in the 10-degree shift before adding the digit. In the number 112, for example, 2 are in the 0th position, 1 in the first place, and 1 in the hundredth place. To add another number 4 after 112, we must shift the present numbers to the left, putting 1 in the thousandth position, 1 in the first place, 2 in the first place, and 4 in the 0th place. This is simply accomplished by multiplying 112 by 10 to get 1120, then adding 4 to get 1124. The code above does the same thing. We have a reversed number in temp when they do while loop eventually stops. The original number, num, is then compared to this number. The original number is a palindrome if the numbers are equal; otherwise, it is not.

Using Function to Check Palindrome Number

Let’s look at a example of a program using function to check palindrome number in c++:

#include<iostream>
#include<bits/stdc++.h>
#include<stdlib>
using namespace std;
int check_Palindrome(int);
int main()
{
    int num, value;
    cout<<"Enter the Number: ";
    cin>>num;
    value = check_Palindrome(num);
    if(value==0)
        cout<<"\nIt is a Palindrome Number";
    else
        cout<<"\nIt is not a Palindrome Number";
    cout<<endl;
    return 0;
}
int check_Palindrome(int n)
{
    int temp, rem, rev=0;
    temp = n;
    while(temp>0)
    {
        rem = temp%10;
        rev = (rev*10)+rem;
        temp = temp/10;
    }
    if(rev==n)
        return 0;
    else
        return 1;
}

OUTPUT:

Enter the Number: 55
It is a Palindrome
…………………………………
Process Executed in 0.134 seconds 
Press any key to continue.

Using String () Method to Check Palindrome Number

  • Because the range of long long int does not fulfil the supplied number when the number of digits reaches 1018, we can't treat it as an integer.
  • Assume that input is a unit of characters. Start the loop from the beginning to the length / 2, check the first letter (number) to the last letter of the letter unit, the second to the last letter, and so on ....The string would not be a palindrome if any characters were mismatched.

Let’s as look at an example of a program in C++ using string() method to check a number is palindrome or not:

// C++ implementation of the above approach
#include <iostream>
#include <bits/stdc++.h>
#include <stdlib>
using namespace std; 
// Function to check palindrome
int check_Palindrome(string str)
{
	int l = str.length();
	for (int i = 0; i < l / 2; i++) {
	
		if (str[i] != str[l - i - 1])
			return false;
	}
	
	return true;
}
// Driver Code
int main()
{ // taking number as string
	string st
		= "11332255667799880000008899776655332211";
	if (check_Palindrome(st) == true)
		cout << "Yes";
	else
		cout << "No";
	return 0;
}

OUTPUT:

Yes
…...
Process Executed in 0.022 seconds
Press any Key to continue.

Program to print all Palindrome Number in the given interval

#include <iostream>
using namespace std; 
bool is_Palindrome(int num){
    //copy the 'num' to 'temp' and initialize 'rev' with 0
    int temp=num, rev=0; 
    //while loop to revesere the 'num'
    while(temp>0){
        rev = rev*10 + temp%10;
        temp = temp/10;
    }
    return rev == num;
}
int main()
{
    int low, upper; 
    cout<<"Enter a lower interval value \n";
    cin >> low; 
    cout<<"Enter a upper interval value \n";
    cin >> upper; 
    for(int i=low; i<=upper; i++){
        if(is_Palindrome(i))
            cout << i << " ";
    }
    return 0;
}

OUTPUT:

Enter a lower interval value
9
Enter a upper interval value
100
9 11 22 33 44 55 66 77 88 99

Explanation:

The is_Palindrome() method returns true if the specified number num is a palindrome; otherwise, it returns false. We use the for loop to go through each integer in the specified interval, then pass the result to the is_Palindrome() function to see if it's a palindrome.


Related Topics

Classes and Objects in C++

When it comes to object-oriented programming, objects are the basic building blocks. Memory is taken up by objects, which contain data and methods or functions that operate on it. On...

3 minutes read.

Palindrome using Do-while loop in C++

What is Palindrome? A palindrome is a word, number, phrase, or other sequence of letters that reads the same backward as forward, such as 101 or MOM. Like other programming languages, C++...

5 minutes read.

How to create a directory or folder in C/C++?

A directory is to lists all files and subdirectories in a directory, set of the files will be kept in the directory, which is a location. A subdirectory is a...

5 minutes read.

Palindrome Number Program in C++

A palindrome number is one that is the same when it is reversed. Palindrome numbers include 22, 33, 44, 55, 66, 77, 88, and 99. Algorithm for Palindrome Numbers Get the user's...

4 minutes read.

Multiple Inheritance

C++ Multiple Inheritance Multiple inheritance is such an inheritance in which a derived class inherits properties of more than one base class.     C++ Multiple Inheritance Example In this example, two base classes Square and...

2 minutes read.

Const_cast in C++ Type Casting Operators

In this tutorial, we will learn enough about const cast in the most widely used programming language, C++, as well as type casting operations. C++ supports the four types of casting...

4 minutes read.

Tensorflow in C++

With cppflow, you can execute TensorFlow models in C++ without Bazel, TensorFlow installation, or TensorFlow compilation. Tensor manipulation, eager execution, and running stored models straight from C++ are all possible. Knowing...

7 minutes read.

C++ Program to move all zeros to the end of the array

Write a program to move all the zeros in the arr[] to the end. The order of the non-zero elements should not be altered and all the zeros should be...

3 minutes read.

Find the Size of Array in C/C++ without using sizeof() function

We know that arrays in C/C++ are the most essential data structures as they have the ability to hold the data in a continuous manner line where the address of...

3 minutes read.

Functors in C++

Functors are not a very popular thing among beginner or intermediate-level programmers. But this thing is very useful and helpful. The name functor suggests us some similarities with function. It...

3 minutes read.

Design Patterns in C++

A design pattern offers an all-encompassing, repeatable answer to the typical issues that arise in software design. Usually, the pattern demonstrates the connections and interactions between several classes or objects....

10 minutes read.

How to implement map in C++

Part of the C++ STL is maps (Standard Template Library). Maps are associative containers that hold sorted key-value pairs, where each key is distinct and may only be added or...

4 minutes read.

C++ Output Iterators

Iterators : Iterators serve as a link between algorithms and STL containers, allowing the data inside the container to be modified. They let you to iterate through the container, access and...

4 minutes read.

Private Inheritance in C++

Private inheritance is an inheritance in object-oriented programming (OOP) languages where a subclass derives from a superclass. Still, the derived class does not inherit the public and protected members of...

7 minutes read.

How to concatenate two strings in C++

In the C++ programming language, the concatenation of two or even more strings is covered in this section. The term "string concatenation" refers to a collection of characters that join two...

4 minutes read.

sort() function in C++

This tutorial covers the various built-in sort functions found in the C++ algorithm’s library.  What Does C++ Sort Mean? The concept of sorting in C++ entails rearranging an array's elements in a...

3 minutes read.

C++ Global Variable

In C++, a global variable is a variable that is defined outside of any function or class and can be accessed by any function or class in the program. Global...

4 minutes read.

Virtual class in C++

Introduction to Virtual Base class Virtual base classes can be utilized in virtual inheritance as a mechanism for examining many "instances" of a certain class while searching through multiple inheritances in...

6 minutes read.

C++ Polymorphism

Polymorphism refers to the fact that something exists in several forms. Polymorphism, in simple terms, is the ability of a message to be presented in several formats. A real-life example...

4 minutes read.

Malloc() and new in C++

In C ++, malloc () and new are used for the same thing. During runtime, they are used to allocate memory. Malloc () and the new, on the other hand,...

4 minutes read.