Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

Adam Number (จองอะดัม) ใน C++


บทนำ

Adam Number: จำนวนที่กำลังสองของมัน เป็นตัวเลขกลับ (reverse) ของกำลังสองของตัวเลขกลับ

ตัวอย่าง

12: 12² = 144, reverse(12) = 21, 21² = 441, reverse(441) = 144 → 144 = 144 ✓ เป็น Adam Number

อัลกอริทึม

  1. คำนวณ n²
  2. หา reverse ของ n
  3. คำนวณ reverse(n)²
  4. หา reverse ของ reverse(n)²
  5. เปรียบเทียบกับ n²

ตัวอย่างโค้ด C++

#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