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:
- Tính square = n*n.
- Tính rev = reverse(n).
- Tính revSquare = rev*rev.
- 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