对称,是自然界中一种普遍存在而且又奇妙有趣的现象。而数学上就有一种对称数字,如1589851是一个对称数字,165431则不是一个对称数字。以下代码功能是判别输入的正整数是否是对称数字,如果是,输出"YES",否则输出"NO"。
时间: 2024-10-21 22:12:22 浏览: 21
一种新型的不对称半桥隔离驱动电路设计
为了实现这个功能,你可以创建一个简单的C++程序,该程序接受用户输入的正整数,然后检查它是否是对其自身的镜像。下面是一个示例代码片段:
```cpp
#include<iostream>
bool isSymmetricNumber(int num) {
int originalNum = num;
int reversedNum = 0;
while (num > 0) {
int digit = num % 10;
reversedNum = reversedNum * 10 + digit;
num /= 10;
}
// 判断反转后的数字是否与原始数字相等
return originalNum == reversedNum;
}
int main() {
int input;
std::cout << "请输入一个正整数: ";
std::cin >> input;
if (isSymmetricNumber(input)) {
std::cout << "YES" << std::endl;
} else {
std::cout << "NO" << std::endl;
}
return 0;
}
```
这个程序首先定义了一个辅助函数 `isSymmetricNumber`,它接受一个整数作为输入,将其按位反转并与原数比较。如果两者相等,说明它是对称的,返回 `true`;反之返回 `false`。
在 `main` 函数中,获取用户的输入,然后调用 `isSymmetricNumber` 函数进行判断,并输出相应的结果。
阅读全文