我們得到一個整數作為輸入。目標是使用遞歸來確定輸入數字 Num 是否為回文。
要檢查一個數字是否為回文,請反轉該數字並檢查兩個數字是否相同。若反轉後的數等於原數,則為回文。
輸入− Num = 34212;
輸出− 34212 不是回文!
解釋− 如果我們反轉 34212,則得到 21243。 34212 != 21243 因此輸入數字為不是回文。
輸入− Num = 32123;
#輸出− 32123 是回文!
解釋 - 如果我們反轉 32123,則得到 32132。32123!= 32123,因此輸入數字是回文。
對於基本情況 -:如果 num1 為 0,則傳回 num2。
p>
Else-:使用遞迴計算 num1 的逆序。傳回計算的倒數。
如果兩者相同,則輸入數字為回文。
取輸入數字Num。
取輸入數字Num。 p>
取Num2 = revrsNum(Num,0)
函數revrsNum(int num1, int num2) 遞歸地產生num1 的逆值,且傳回反轉後的數字。
如果 num1 為 0,則以反轉計算結果傳回 num2。
否則將 num2 乘以 10,並且加上 num1 。
使用 num1=num1/10 將 num1 減少 10。
使用 revrsNum( 遞歸num1, num2);
傳回結果。
印出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; }
如果我們執行上面的程式碼,它將產生以下輸出
1345431 is Palindrome!#
以上是遞歸程式在C++中檢查一個數字是否為回文數的詳細內容。更多資訊請關注PHP中文網其他相關文章!