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