4周任务3
来源:互联网 发布:HL软件 编辑:程序博客网 时间:2024/06/11 09:35
#include <iostream> #include <cmath> using namespace std; class NuturalNumber //类的声明 { private: int n; public: void setValue(int x); // 置数据成员n的值,判断是否是正整数 int getValue(); // 返回私有数据成员n的值 bool isPrime(); // 判断数据成员n是否为素数,是返回true,否则返回false void printFactor(); // 输出数据成员n的所有因子,包括1和他本身 bool isPerfect(); // 判断n数否为完全数 bool isReverse(int x); // 判断形式参数x是否为n的逆向数 bool isDaffodil(int x); // 判断x是否为水仙花数 void printDaffodils(); // 显示所有大于1,且小于n的水仙花数 }; void main() { NuturalNumber nn; //定义类的一个实例(对象) nn.setValue(6); cout<<nn.getValue()<<(nn.isPrime()?"是":"不是")<<"素数"<<endl; nn.setValue (37); cout<<nn.getValue()<<(nn.isPrime()?"是":"不是")<<"素数" <<endl; nn.setValue (84); cout<<nn.getValue()<<"的因子有:"; nn.printFactor(); cout<<endl; nn.setValue(6); cout<<nn.getValue()<<(nn.isPerfect()?"是":"不是")<<"完全数" <<endl; nn.setValue(123); cout<<nn.getValue()<<(nn.isReverse(321)?"是":"不是")<<"逆向数" <<endl; cout<<"153"<<(nn.isDaffodil(153)?"是":"不是")<<"水仙花数" <<endl; nn.setValue(1000); nn.getValue(); nn.printDaffodils(); } void NuturalNumber::setValue(int x) { if(x>0 && x%1==0) { n=x; } } int NuturalNumber::getValue() { return n; } bool NuturalNumber::isPrime() { int i; for(i=2;i<=sqrt(n);i++) { if(n%i==0) return false; } return true; } void NuturalNumber::printFactor() { int i; for (i=1;i<=n;i++) { if(n%i==0) cout<<i<<" "; } } bool NuturalNumber::isPerfect() { int i,s=0; for(i=1;i<n;i++) { if(n%i==0) s=s+i; } if(s==n) return true; else return false; } bool NuturalNumber::isReverse(int x) { int a,s=0; while (x>0) { a=x%10; s=s*10+a; x=x/10; } if(s==n) return true; else return false; } bool NuturalNumber::isDaffodil(int x) { n=x; int a,s=0; while (x>0) { a=x%10; s=s+a*a*a; x=x/10; } if(s==n) return true; else return false; } void NuturalNumber::printDaffodils() { for(int i=2;i<n;i++) { if(isDaffodil(i)) cout<<i<<" "; } cout<<endl; return; }
运行结果:
- 4周任务3
- 第4周任务3
- 第七周任务 3-4
- 第4周-任务3-正整数类
- 第4周实验报告任务3
- 第3周项目4 委派任务
- 第3周-项目4-委派任务
- 16周任务4
- 第二周任务4
- 第三周任务4
- 第三周任务4
- 第三周任务4
- 第4周任务
- 第五周任务4
- 第五周任务 4
- 第六周任务4
- 第六周任务4
- 第六周任务4
- 都是腾讯管家惹得祸
- 使用bjam编译boost
- C/C++中调用SQLITE3
- 一道操作系统题
- Java对象
- 4周任务3
- linux文件命名的小问题
- Java 获取当前路径
- 常用sql语句
- AFX_MANAGE_STATE 宏说明
- MFC 文本编程 -- 总结
- VC MFC GDI 位图旋转算法
- 验证角谷猜想
- android ContentProvider中getType(Uri uri)的理解