Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

숫자가 회문인지 여부를 확인하는 C++ 프로그램

<시간/>

회문 번호는 숫자가 바뀌면 값이 변경되지 않으면 그대로 유지됩니다. 회문 번호는 대칭이라고도 할 수 있습니다. 예:숫자 12321, 1551, 11 등은 숫자가 바뀌더라도 변경되지 않으므로 회문입니다.

숫자가 회문인지 아닌지 확인하는 프로그램은 다음과 같습니다.

예시

#include<iostream>
using namespace std;
void palindrome(int num) {
   int rev=0,val;
   val = num;
   while(num > 0) {
      rev = rev * 10 + num % 10;
      num = num / 10;
   }
   if(val==rev)
   cout<<val<<" is a palindrome"<<endl;
   else
   cout<<val<<" is not a palindrome"<<endl;
}
int main() {
   palindrome(12321);
   palindrome(1234);
   return 0;
}

출력

12321 is a palindrome
1234 is not a palindrome

위의 프로그램에서 회문 함수는 숫자가 회문인지 아닌지 알아냅니다. 이 함수는 하나의 매개변수, 즉 num을 취합니다. 프로세스가 발생하기 전에 num의 복제본이 만들어집니다. 즉, val입니다. num의 값은 반전되어 rev에 저장됩니다.

이것은 다음 코드 스니펫에 의해 표시됩니다 -

int rev=0,val;
val = num;
while(num > 0) {
   rev = rev * 10 + num % 10;
   num = num / 10;
}

그런 다음 rev의 값은 num이 아닌 val과 비교됩니다. 지금까지 num의 값이 0이기 때문입니다. rev가 val과 같으면 숫자가 회문이고 이것이 인쇄되고 그렇지 않으면 숫자가 회문이 아닙니다.

이는 다음 코드 스니펫에서 확인할 수 있습니다.

if(val==rev)
cout<<val<<" is a palindrome"<<endl;
else
cout<<val<<" is not a palindrome"<<endl;