Nous obtenons un entier en entrée. Le but est d'utiliser la récursivité pour déterminer si le nombre d'entrée Num est un palindrome.
Pour vérifier si un nombre est un palindrome, inversez le nombre et vérifiez si les deux nombres sont identiques. Si le nombre inversé est égal au nombre original, c'est un palindrome.
Input− Num = 34212;
Output− 34212 n'est pas un palindrome !
Explication− Si on inverse 34212, on obtient 21243. 34212 != 21243 Le nombre saisi n'est donc pas un palindrome.
Entrée− Num = 32123 ;
Sortie− 32123 est un palindrome !
Explication - Si on inverse 32123, on obtient 32132. 32123!= 32123, donc le nombre saisi est un palindrome.
Pour le cas de base - : si num1 est 0, renvoie num2.
p>
Else- : utilisez la récursivité pour calculer l'ordre inverse de num1. Renvoie l'inverse du calcul.
Si les deux sont identiques, le nombre saisi est un palindrome.
Obtenez le numéro d'entrée Num.
Obtenez le numéro d'entrée Num. p>
Prenez Num2 = revrsNum(Num,0)
La fonction revrsNum(int num1, int num2) génère récursivement la valeur inverse de num1 et renvoie le nombre inversé.
Si num1 vaut 0, le résultat du calcul inversé renvoie num2.
Sinon multipliez num2 par 10 et ajoutez num1%10.
Réduisez num1 de 10 en utilisant num1=num1/10.
Utilisez revrsNum(recursive num1, num2);
pour renvoyer le résultat.
Imprimez les résultats obtenus à l'intérieur du main.
#include <bits/stdc++.h> using namespace std; int revrsNum(int num1, int num2){ if (num1 == 0){ return num2; } num2 *= 10; num2 += (num1 % 10); num1 = num1/10; return revrsNum(num1, num2); } int main(){ int Num = 1345431; int Num2 = revrsNum(Num,0); if (Num == Num2){ cout <<Num<<" is Palindrome!"; } else{ cout <<Num<<" is not a Palindrome!"; } return 0; }
Si nous exécutons le code ci-dessus, il générera la sortie suivante
1345431 is Palindrome!
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!