Heim  >  Artikel  >  Backend-Entwicklung  >  Rekursives Programm zur Überprüfung, ob eine Zahl in C++ ein Palindrom ist

Rekursives Programm zur Überprüfung, ob eine Zahl in C++ ein Palindrom ist

WBOY
WBOYnach vorne
2023-09-10 13:25:091184Durchsuche

Rekursives Programm zur Überprüfung, ob eine Zahl in C++ ein Palindrom ist

Wir erhalten eine Ganzzahl als Eingabe. Das Ziel besteht darin, mithilfe der Rekursion zu bestimmen, ob die Eingabezahl Num ein Palindrom ist.

Um zu überprüfen, ob eine Zahl ein Palindrom ist, kehren Sie die Zahl um und prüfen Sie, ob beide Zahlen gleich sind. Wenn die umgekehrte Zahl der ursprünglichen Zahl entspricht, handelt es sich um ein Palindrom.

Beispiel

Eingabe− Num = 34212;

Ausgabe− 34212 ist kein Palindrom!

Erklärung− Wenn wir 34212 umkehren, erhalten wir 21243. 34212 != 21243 Daher ist die eingegebene Zahl kein Palindrom.

Input− Num = 32123;

Output− 32123 ist ein Palindrom!

Erklärung - Wenn wir 32123 umkehren, erhalten wir 32132. 32123!= 32123, also ist die eingegebene Zahl ein Palindrom.

Die im folgenden Programm verwendete Methode ist wie folgt:

In dieser Methode verwenden wir die rekursive Funktion revrsNum(int num1, int num2), die die Eingabenummer num1 und die temporäre Nummer num2 akzeptiert.

Für den Basisfall: Wenn Nummer1 0 ist, geben Sie Nummer2 zurück.

p>

Else-: Verwenden Sie die Rekursion, um die umgekehrte Reihenfolge von num1 zu berechnen. Gibt den Kehrwert der Berechnung zurück.

Wenn beide gleich sind, ist die eingegebene Zahl ein Palindrom.

  • Erhalten Sie die Eingabenummer Num.

    • Erhalten Sie die Eingabenummer Num. p>

    • Take Num2 = revrsNum(Num,0)

    • Die Funktion revrsNum(int num1, int num2) generiert rekursiv den Umkehrwert von num1 und gibt die umgekehrte Zahl zurück.

    • Wenn num1 0 ist, gibt das invertierte Berechnungsergebnis num2 zurück.

    • Andernfalls multiplizieren Sie num2 mit 10 und addieren Sie num1%10.

    • Reduzieren Sie num1 um 10 mit num1=num1/10.

    • Verwenden Sie revrsNum(recursive num1, num2);

    • , um das Ergebnis zurückzugeben.

    • Drucken Sie die erhaltenen Ergebnisse im Hauptmenü aus.

    Beispiel

    #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;
    }

    Ausgabe

    Wenn wir den obigen Code ausführen, wird die folgende Ausgabe generiert

    1345431 is Palindrome!

Das obige ist der detaillierte Inhalt vonRekursives Programm zur Überprüfung, ob eine Zahl in C++ ein Palindrom ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen