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