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

C++ 아담 번호

<시간/>

아담 번호 제곱이 역제곱의 역인 숫자입니다.

개념 설명 - 숫자가 아담 숫자가 되는 경우 , 숫자의 제곱은 숫자의 역 제곱의 역입니다. 예를 들어 보겠습니다.

12는 숫자입니다. . 12의 제곱은 144이고 12의 역은 21입니다. 12의 역 제곱, 즉 21은 441입니다. 441은 144의 역인 12의 제곱입니다.

숫자가 아담 번호인지 확인하는 알고리즘 -

  • xy가 주어졌을 때 그 수의 제곱을 구합니다(xy) 2 .
  • xy의 경우 숫자의 자릿수를 반대로 하세요 -> yx.
  • 이제 숫자 yx에 대해 숫자 (xy)의 제곱을 찾습니다. 2 .
  • (xy) 2 의 자릿수 반전 (yx) 2 로 평가 .
  • 둘 다 같으면 숫자는 아담 숫자입니다.

예시

#include <iostream>
using namespace std;
int reverseDigits(int num) {
   int rev = 0;
   while (num > 0) {
      rev = rev * 10 + num % 10;
      num /= 10;
   }
   return rev;
}
int main() {
   int num = 31;
   cout<<num<<" is ";
   int rev = reverseDigits(num);
   if ( (num*num) == (reverseDigits(rev*rev)) )
      cout << "Adam Number";
   else
      cout << "not an Adam Number";
   return 0;
}

출력

31 is Adam Number