"验证命题:正整数与其反序数相加是否一定得到回文数,应用实践编程题答案"

版权申诉
0 下载量 72 浏览量 更新于2024-03-27 收藏 78KB DOC 举报
NUM类的定义如下: ```c++ #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 str = to_string(n); int len = str.length(); for (int i = 0; i < len / 2; i++) { if (str[i] != str[len - 1 - i]) { return 0; } } return 1; } void fun() { int originalNum = num; int reverseNum = 0; while (true) { string str = to_string(originalNum); string reverseStr = str; reverse(reverseStr.begin(), reverseStr.end()); reverseNum = stoi(reverseStr); int newNum = originalNum + reverseNum; cout << originalNum << " + " << reverseNum << " = " << newNum << endl; if (yn(newNum)) { cout << "命题成立!" << endl; break; } originalNum = newNum; } } }; int main() { NUM test(2015); test.fun(); return 0; } ``` 该程序中定义了一个名为NUM的类,其中包含私有数据成员int num用于存放要验证命题的正整数,以及公有成员函数NUM(int x)用于构造对象并初始化num、void set(int a)用于设置num、int yn(int n)用于判断n是否为回文数、void fun()用于验证命题是否成立。程序中还包含了一个测试用的main函数,可以通过给定的正整数验证命题是否成立。 通过运行程序,可以看到对于给定的正整数2015,依次计算其反序数,并与其相加,直到得到一个回文数为止。在这个过程中,程序输出了每一步计算的结果,并最终输出"命题成立!",说明给定命题成立。因此,通过NUM类的验证,可以证明该命题成立。