声明一个自然数区间类 [m,n],设计构造函数、默认构造函数和析构函数,具有功能如下,主函数声明区间类对象并调用功能函数:
1.判断区间内的某一数是否是水仙花数;可以是 [0,某数n]
2.判断区间内的某一数是否是素数; 可以是 [0,某数n]
3.判断哥德巴赫猜想;
4.求两个自然数的最大公约数、最小公倍数;
5.求某一区间的完数(孪生数);
![](https://profile-avatar.csdnimg.cn/09a5b67fcdae4917beb080275fc19d10_weixin_68130560.jpg!4)
声明一个自然数区间类 [m,n],设计构造函数、默认构造函数和析构函数
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- CSDN专家-天际的海浪 2022-05-09 22:09关注
自然数区间类
#include <iostream> #include <cstdlib> using namespace std; class cp { public: int m, n; cp(int m, int n) { if (m < n) { this->m = m; this->n = n; } else { this->m = n; this->n = m; } } ~cp() {} void narci() { int i, hun, ten, ind; int im = m >= 100 ? m : 100; int in = n <= 999 ? n : 999; for (i = im; i <= in; i++) { hun = i / 100; ten = (i - hun * 100) / 10; ind = i % 10; if (i == hun * hun * hun + ten * ten * ten + ind * ind * ind) /*各位上的立方和是否与原数n相等*/ cout << i << " "; } cout << endl; } int isprime(int i) { if (i <= 1) return 0; for (int j = 2; j < i; j++) { if (i % j == 0) return 0; } return 1; } void prime() { int i; for (i = m; i <= n; i++) { if (isprime(i)) cout << i << " "; } cout << endl; } void gef() { int i, j; for (i = m; i <= n; i++) { if (i % 2 == 0) for (j = 2; j <= i - 2; j++) { if (isprime(j) && isprime(i - j)) { cout << i << "=" << j << "+" << i - j << " "; break; } } } cout << endl; } void gcdlcm() { int a = m, b = n, c; while (b > 0) { c = a % b; a = b; b = c; } cout << "最大公约数为:" << a << endl; cout << "最小公倍数为:" << m * n / a << endl; } void perfect() { int i, j, sum; for (i = m; i <= n; i++) { sum = 0; for (j = 1; j < i; j++) if (i % j == 0) sum += j; if (j == sum) cout << j << " "; } cout << endl; } }; int main() { int m, n; cin >> m >> n; cp p(m, n); cout << p.m << "到" << p.n << "区间的水仙花数" << endl; p.narci(); cout << p.m << "到" << p.n << "区间的素数" << endl; p.prime(); cout << p.m << "到" << p.n << "区间的验证哥德巴赫猜想" << endl; p.gef(); cout << p.m << "和" << p.n << "最大公约数与最小公倍数" << endl; p.gcdlcm(); cout << p.m << "到" << p.n << "区间的完数" << endl; p.perfect(); return 0; }
之后再添加类的各个功能函数即可
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 metadata提取的PDF元数据,如何转换为一个Excel
- ¥15 关于arduino编程toCharArray()函数的使用
- ¥100 vc++混合CEF采用CLR方式编译报错
- ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
- ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
- ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
- ¥50 如何openEuler 22.03上安装配置drbd
- ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
- ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
- ¥15 Windows11, backspace, enter, space键失灵