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

Số Adam trong C ++

Trong phần này, chúng ta sẽ xem cách viết một chương trình có thể kiểm tra một số đã cho có phải là số Adam hay không. Trước khi đi sâu vào mã, chúng ta hãy xem số Adam là gì?

Số Adam là một số nói n, sau đó nếu bình phương của n và bình phương của n ngược lại với nhau, thì số đó là số Adam. Ví dụ, chúng ta hãy xem xét một số 13. Ngược lại là 31. Khi đó bình phương của 13 là 169 và bình phương của 31 là 961. 169 và 961 đảo ngược nhau nên số 13 là một số Adam.

Các bước để kiểm tra xem số đã cho có phải là số Adam không -

  • Lấy số n
  • Đảo ngược số và lưu trữ thành m
  • Nhận Square of n và lưu trữ nó vào sq_n
  • Nhận Hình vuông của m và lưu trữ thành sq_m
  • Kiểm tra xem sq_n và đảo ngược của sq_m có giống nhau hay không.

Ví dụ

#include<iostream>
using namespace std;
int reverseNumber(int num) {
   int res = 0;
   while(num != 0) {
      res = res * 10 + num % 10; //cut last digit and add into the result
      num /= 10; //reduce the number
   }
   return res;
}
bool checkAdamNumber(int num) {
   int rev_num = reverseNumber(num);
   //get the square of the number and the reverse number
   int sq_num = num * num;
   int sq_rev_num = rev_num * rev_num;
   //if the sq_num and sq_rev_num are reverse of each other, then they are Adam Number.
   if(sq_num == reverseNumber(sq_rev_num)) {
      return true;
   }
   return false;
}
main() {
   int num;
   cout << "Enter a number to check whether it is Adam number or not:";
   cin << num;
   if(checkAdamNumber(num)) {
      cout << "The number is an Adam number";
   } else {
      cout << "The number is not an Adam number";
   }
}

Đầu ra

Enter a number to check whether it is Adam number or not:13
The number is an Adam number

Đầu ra

Enter a number to check whether it is Adam number or not:25
The number is not an Adam number