정수를 입력으로 받습니다. 목표는 재귀를 사용하여 입력 숫자 Num이 회문인지 여부를 확인하는 것입니다.
숫자가 회문인지 확인하려면 숫자를 뒤집어 두 숫자가 같은지 확인하세요. 거꾸로 된 숫자가 원래 숫자와 같으면 회문입니다.
Input− Num = 34212;
Output− 34212는 회문이 아닙니다!
설명− 34212를 거꾸로 하면 21243이 됩니다. 34212 != 21243 따라서 입력한 숫자는 회문이 아닙니다.
Input− Num = 32123;
Output− 32123은 회문입니다!
설명 - 32123을 거꾸로 하면 32132가 됩니다. 32123!= 32123이므로 입력 숫자는 회문입니다.
기본 사례 -: num1이 0이면 num2를 반환합니다.
p>
Else-: 재귀를 사용하여 num1의 역순을 계산합니다. 계산의 역수를 반환합니다.
둘 다 동일하면 입력 숫자는 회문입니다.
입력 숫자 Num을 가져옵니다.
입력 숫자 Num을 가져옵니다. p>
Take Num2 = revrsNum(Num,0)
revrsNum(int num1, int num2) 함수는 num1의 역수 값을 재귀적으로 생성하고 그 역수를 반환합니다.
num1이 0이면 역계산 결과는 num2를 반환합니다.
그렇지 않으면 num2에 10을 곱하고 num1%10을 더합니다.
num1=num1/10을 사용하여 num1을 10으로 줄입니다.
revrsNum(recursive num1, num2);
을 사용하여 결과를 반환합니다.
메인 내부에서 얻은 결과를 인쇄하세요.
#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 중국어 웹사이트의 기타 관련 기사를 참조하세요!