Introduction à Palindrome en C ++

Un palindrome est un nombre, une séquence ou un mot qui se lit comme en arrière comme en avant. Madam In Eden, I'm Adam est l'un des meilleurs exemples de mots palindromes qui sonnent de la même manière après avoir inversé. C'est là que le palindrome rend les choses intéressantes, ils agissent comme des miroirs. Le nom de «palindrome» signifie en fait un retour en arrière selon l'étymologie grecque. En C ++, le nombre de palindromes est un nombre qui reste le même après l'inverse. Mais comment est-ce possible? Comment vérifierons-nous si un nombre est trop grand et complexe? Gardez toujours à l'esprit ce petit algorithme pour vérifier si un nombre est un palindrome ou non.

  1. Obtenez le numéro d'entrée de l'utilisateur.
  2. Tenez-le dans une variable temporaire.
  3. Inversez le nombre.
  4. Après l'avoir inversé, comparez-le avec une variable temporaire.
  5. S'il en est ainsi, le nombre est un palindrome.

Ne vous inquiétez pas, voici un exemple, supposons que nous devions imprimer des palindromes entre la plage de nombres donnée. Par exemple, la plage est (10 122) alors la sortie doit être (11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121)

Programme C ++ pour implémenter Palindrome

#include
using namespace std;
// Function to check if a number is a palindrome or not.
int Palindrome(int n)
(
// Find reverse of n
int reverse = 0;
for (int i = n; i > 0; i /= 10)
reverse = reverse*10 + i%10;
// To check if they are same
return (n==reverse);
)
//function to prints palindrome between a minimum and maximum number
void countPalindrome(int minimum, int maximum)
(
for (int i = minimum ; i <= maximum; i++)
if (Palindrome(i))
cout << i << " ";
)
// program to test above functionality
int main()
(
countPalindrome(100, 2000);
return 0;
)

Production:

Prenons un autre exemple en utilisant spécifiquement une boucle while qui expliquera également l'algorithme dont nous avons discuté dans l'introduction. Nous prendrons un nombre en entrée de l'utilisateur et vérifierons s'il s'agit d'un palindrome ou non.

Programme C ++ pour vérifier si un nombre est un palindrome ou non

#include
using namespace std;
int main()
(
int n, sum=0, temp, reverse;
cout<<"Please enter the Number=";
cin>>n;
temp=n;
while(n>0)
(
reverse=n%10;
sum=(sum*10)+reverse;
n=n/10;
)
if(temp==sum)
cout<<"The number is Palindrome.";
else
cout<<"The number is not Palindrome.";
return 0;
)

Production:

Le code ci-dessus prendra un nombre en entrée de l'utilisateur et le mettra dans une variable temporaire car vous pouvez voir que la somme est déjà 0, il utilisera une boucle while jusqu'à ce que le nombre devienne 0 et pendant l'écriture du code, il effectuera la opération écrite après la boucle while. Si le nombre devient 0, il vérifiera si la variable temporaire est égale ou non à la somme. Si la condition satisfait alors il imprimera que le nombre est palindrome sinon si la condition échoue, il ira à une autre partie et imprimera que le nombre n'est pas un palindrome.

Un autre exemple utilisant une boucle do-while qui expliquera également l'algorithme dont nous avons discuté dans l'introduction. Nous prendrons un nombre en entrée de l'utilisateur et vérifierons s'il s'agit d'un palindrome ou non.

Programme C ++ pour vérifier si un nombre est un palindrome ou non

#include
using namespace std;
int main()
(
int x, number, reverse = 0, temp ;
cout << "Please enter a number here: ";
cin >> number;
x = number;
do
(
temp = number % 10;
reverse = (reverse * 10) + temp;
number = number / 10;
) while (number != 0);
cout << " The reverse of the number is: " << reverse << endl;
if (x == reverse)
cout << " Entered number is a Palindrome.";
else
cout << " Entered number is not a Palindrome.";
return 0;
)

Production:

Les avantages

  • Supposons que dans votre projet, vous souhaitez faire correspondre la première chaîne / élément avec le dernier, puis le deuxième élément / chaîne à l'avant-dernier et ainsi de suite, et la chaîne sera palindrome si vous atteignez le milieu. En utilisant simplement for loop, vous pouvez effectuer toutes les opérations et cela économise beaucoup de temps et d'espace en matière de programmation car dans ce cas, vous n'avez pas à modifier la chaîne existante ni à écrire une autre variable en mémoire. De plus, les correspondances requises sont complètement égales à la moitié de la longueur de la chaîne.
  • Si vous travaillez sur un langage de programmation où l'inversion de chaîne est facile mais nécessitera un espace supplémentaire pour stocker cette chaîne inverse d'une autre manière, comme la récursivité, il faut plus de trame de pile. Il y a une autre façon plutôt que la récursivité et qui est d'écrire une boucle au milieu de la chaîne pour vérifier si la lettre correspondante à chaque extrémité est la même ou non. En cas d'inégalité, rompez la paire tôt et déclarez la chaîne comme n'étant pas un palindrome.
  • L'approche ci-dessus a l'avantage de ne pas gaspiller de ressources de calcul telles que la récursivité, sans avoir besoin de trames de pile supplémentaires, mais ce n'est pas aussi simple que de simplement inverser la chaîne et de vérifier l'égalité entre elles. Cela demande des efforts mais ce sera toujours moins que les autres algorithmes car c'est le moyen le plus simple de trouver un palindrome.
  • Chaque technique a ses avantages en programmation et il existe des milliers d'autres façons de faire la même tâche mais de manière efficace. Cela dépend complètement de votre projet actuel sur lequel vous travaillez. Il vous suffit de décider en fonction de votre situation quelle technique vous aidera à donner les meilleurs avantages quels que soient les inconvénients.
  • Dans un projet réel, vous devez effectuer n nombres de vérifications de palindrome sur une base fréquente dans un court laps de temps, puis vous devez implémenter l'algorithme ci-dessus en premier lieu jusqu'à et à moins que vous ayez besoin d'une solution plus optimiste pour les contraintes techniques actuelles.

Conclusion

En utilisant un algorithme de palindrome, vous pouvez rendre votre recherche plus efficace et plus rapide dans la recherche de palindromes indépendamment des types de données tels que le caractère de chaîne ou l'entier. Pour les projets qui ont plusieurs données dans les différents systèmes, ces algorithmes peuvent être utilisés pour accélérer les performances globales.

Articles recommandés

Ceci est un guide de Palindrome en C ++. Nous discutons ici du programme C ++ pour vérifier et implémenter le Palindrome avec les avantages. Vous pouvez également consulter l'article suivant pour en savoir plus -

  1. Programme Palindrome en C ++
  2. Meilleur compilateur C ++
  3. Série Fibonacci en C ++
  4. Surcharge en C ++
  5. Surcharge en Java
  6. Types de données C ++
  7. Surcharge Python
  8. Les 11 principales fonctionnalités et avantages de C ++
  9. Série Fibonacci en JavaScript avec des exemples