C++ 阿達姆數


阿達姆數是一個數字,其平方是其倒序平方的倒序。

概念說明 - 對於一個數字是阿達姆數,該數字的平方是該數字倒序平方的倒序。舉個例子:

12 為數字。12 的平方為 144,12 的倒序為 21。21 的平方即 21 的倒序平方為 441。441 是 144(12 的平方)的倒序。

檢查數字是否為阿達姆數的演算法 -

  • 給定數字 xy,求其平方數 (xy)2
  • 對於 xy,顛倒數字順序 -> yx。
  • 現在,對於數字 yx,求其平方數 (xy)2
  • 顛倒 (xy)2 的數字順序並與 (yx)2 評估。
  • 如果兩者相等,則該數字為阿達姆數。

示例

 線上演示

#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

更新日期: 2019 年 07-10 月

2K+ 檢視次數

啟動您的 事業

完成課程即可獲得認證

開始
廣告
© . All rights reserved.