Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Số Adam (Adam Number) trong C++

Số Adam: bình phương của số đó là đảo ngược của bình phương của số đảo ngược.

Ví dụ: 12 -> 12^2=144. Đảo 12 -> 21. 21^2=441. 441 đảo ngược là 144 -> 12 là số Adam.

Thuật toán:

  1. Tính square = n*n.
  2. Tính rev = reverse(n).
  3. Tính revSquare = rev*rev.
  4. Nếu reverse(revSquare) == square -> Adam number.

Ví dụ code

#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 << " la ";
    int rev = reverseDigits(num);
    if (num * num == reverseDigits(rev * rev))
        cout << "So Adam";
    else
        cout << "Khong phai so Adam";
    return 0;
}

Kết quả

31 la So Adam