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.
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 berikutDalam 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.#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; }
1345431 is Palindrome!
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!