Computer >> Máy Tính >  >> Lập trình >> C ++

C ++ Số Adam

Số Adam là một số có bình phương đảo ngược với bình phương đảo ngược của nó.

Giải thích khái niệm - Đối với một số là số adam , bình phương của số là đảo ngược của bình phương của đảo ngược của số. Hãy lấy một ví dụ,

12 là số . Hình vuông của 12 là 144 và đảo ngược của 12 là 21. Hình vuông đảo ngược của 12 tức là 21 là 441. 441 là đảo ngược của 144 là bình phương của 12.

Thuật toán kiểm tra xem một số có phải là số adam hay không -

  • Cho số xy, hãy tìm bình phương của số (xy) 2 .
  • Đối với xy, đảo ngược các chữ số của số -> yx.
  • Bây giờ, đối với số yx, hãy tìm bình phương của số (xy) 2 .
  • Đảo ngược các chữ số của (xy) 2 và đánh giá với (yx) 2 .
  • Nếu cả hai đều bằng nhau thì số đó là số adam.

Ví dụ

#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;
}

Đầu ra

31 is Adam Number