Program rekursif untuk memeriksa sama ada nombor adalah palindrom dalam C++

WBOY
Lepaskan: 2023-09-10 13:25:09
ke hadapan
1259 orang telah melayarinya

Program rekursif untuk memeriksa sama ada nombor adalah palindrom dalam C++

Kami mendapat integer sebagai input. Matlamatnya adalah untuk menggunakan rekursi untuk menentukan sama ada nombor input Num ialah palindrom.

Untuk menyemak sama ada nombor adalah palindrom, terbalikkan nombor itu dan semak sama ada kedua-dua nombor adalah sama. Jika nombor terbalik adalah sama dengan nombor asal, ia adalah palindrom.

Contoh

Input− Nombor = 34212;

Penjelasan− Jika kita terbalikkan 34212, kita dapat 21243. 34212 != 21243 Oleh itu nombor yang dimasukkan bukanlah palindrom.

Input− Num = 32123;

Output#🎜🎜🎜#1−3 ialah 32123;

Penjelasan - Jika kita terbalikkan 32123, kita dapat 32132. 32123!= 32123, jadi nombor input ialah palindrom.

Kaedah yang digunakan dalam program berikut adalah seperti berikut

Dalam kaedah ini, kami menggunakan fungsi rekursif revrsNum(int num1, int num2), yang menerima input nombor num1 dan nombor sementara num2.

Untuk kes asas -: jika nombor1 ialah 0, kembalikan nombor2.

p>Else-: Gunakan rekursi untuk mengira susunan terbalik nombor1. Mengembalikan salingan pengiraan.

Jika kedua-duanya sama, nombor yang dimasukkan ialah palindrom.

Dapatkan nombor input Num.

  • Dapatkan nombor input Num. p>

      Dapatkan Num2 = revrsNum(Num,0)
    • Function revrsNum2, intsive numrates1 songsangan bagi num1 dan mengembalikan nombor terbalik.

    • Jika nombor1 ialah 0, hasil pengiraan songsang mengembalikan nombor2.

    • Jika tidak, darabkan nombor2 dengan 10 dan tambahkan nombor1%10.

    • Kurangkan num1 dengan 10 menggunakan num1=num1/10.

    • Gunakan revrsNum(rekursif num1, num2);

    • untuk mengembalikan keputusan

    • Cetak keputusan yang diperolehi di dalam utama.

    • Contoh

      #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;
      }
      Salin selepas log masuk

      Output
    Jika kita menjalankan kod di atas# ia akan menjana kod output berikut #
    1345431 is Palindrome!
    Salin selepas log masuk

Atas ialah kandungan terperinci Program rekursif untuk memeriksa sama ada nombor adalah palindrom dalam C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan