"应用实践VC编程题详解:NUM类验证回文数命题"
版权申诉
65 浏览量
更新于2024-02-21
收藏 61KB DOC 举报
本题要求定义一个类NUM,验证一个命题:任意一个正整数与其反序数相加,得到一个新的正整数,再对这个新正数重复上述步骤,最终一定可以得到一个回文数。具体要求是私有数据成员int num用于存放验证的正整数,公有成员函数包括构造函数NUM(int x)用于初始化数据成员num,set(int a)用于设置num的值,yn(int n)用于判断n是否回文数,fun()用于验证命题并显示验证过程。在主函数中对该类进行测试,输出验证过程。
首先,根据题目要求,我们定义一个类NUM,具体代码如下:
```cpp
#include <iostream>
#include <string>
using namespace std;
class NUM {
private:
int num;
public:
NUM(int x) {
num = x;
}
void set(int a) {
num = a;
}
int yn(int n) {
string s = to_string(n);
int len = s.length();
for (int i = 0; i < len/2; i++) {
if (s[i] != s[len-1-i]) {
return 0;
}
}
return 1;
}
void fun() {
int temp = num;
cout << "num=" << num << " 的验证过程如下:" << endl;
while(!yn(temp)) {
string s = to_string(temp);
string s_reverse = s;
reverse(s_reverse.begin(), s_reverse.end());
int reverse_num = stoi(s_reverse);
temp += reverse_num;
cout << temp - reverse_num << " " << reverse_num << "=" << temp << endl;
}
cout << "命题成立!" << endl;
}
};
```
然后,我们在主函数中对该类NUM进行测试:
```cpp
int main() {
NUM n1(350);
n1.fun();
NUM n2(2015);
n2.fun();
return 0;
}
```
运行结果如下:
```
num=350 的验证过程如下:
350 53=403
403 304=707
命题成立!
num=2015 的验证过程如下:
2015 5102=7117
命题成立!
```
可以看到,通过对两个正整数350和2015的验证过程,得到的结论是命题成立。因此,定义的类NUM可以成功验证给定命题。
2021-09-25 上传
2021-11-09 上传
2011-11-25 上传
2024-11-10 上传
2024-10-30 上传
2023-06-26 上传
2024-11-10 上传
2024-10-30 上传
2024-11-04 上传
「已注销」
- 粉丝: 0
- 资源: 5万+
最新资源
- <医学图像处理方向>_研究生_上海交通大学生物医学工程_课程期末大作业_合集
- DatagridViewTest.rar
- 角动画
- D1笔记代码(1).rar
- AMD-2.2.1-py3-none-any.whl.zip
- Gallina 4 Wordpress-开源
- sqlcipher-ktn-pod:将SQLCipher lib从Cocoapods包装到Kotlin Native
- net-snmp_shell_subagent
- WAB-FloatingTheme2:具有浮动纹理元素的 Web AppBuilder for ArcGIS(开发人员版)的自定义主题
- AE001V2
- 用GDI显示GIF动画图片VC源代码
- 吴恩达深度学习课程第一课第二周datasets和lr_utils
- AMQPStorm_Pool-1.0.1-py2.py3-none-any.whl.zip
- SGU DownloadScheduler-开源
- AMQPStorm-2.2.0-py2.py3-none-any.whl.zip
- EVC创建进程