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
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言
C++
C#
MongoDB
MySQL
Javascript
PHP