"应用实践VC编程题详解:NUM类验证回文数命题"
版权申诉
50 浏览量
更新于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-11-09 上传
2009-06-04 上传
2009-06-04 上传
2022-12-06 上传
2022-06-10 上传
2022-06-10 上传
「已注销」
- 粉丝: 0
- 资源: 5万+
最新资源
- 探索AVL树算法:以Faculdade Senac Porto Alegre实践为例
- 小学语文教学新工具:创新黑板设计解析
- Minecraft服务器管理新插件ServerForms发布
- MATLAB基因网络模型代码实现及开源分享
- 全方位技术项目源码合集:***报名系统
- Phalcon框架实战案例分析
- MATLAB与Python结合实现短期电力负荷预测的DAT300项目解析
- 市场营销教学专用查询装置设计方案
- 随身WiFi高通210 MS8909设备的Root引导文件破解攻略
- 实现服务器端级联:modella与leveldb适配器的应用
- Oracle Linux安装必备依赖包清单与步骤
- Shyer项目:寻找喜欢的聊天伙伴
- MEAN堆栈入门项目: postings-app
- 在线WPS办公功能全接触及应用示例
- 新型带储订盒订书机设计文档
- VB多媒体教学演示系统源代码及技术项目资源大全