아담 번호 제곱이 역제곱의 역인 숫자입니다.
개념 설명 - 숫자가 아담 숫자가 되는 경우 , 숫자의 제곱은 숫자의 역 제곱의 역입니다. 예를 들어 보겠습니다.
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