正整数类
来源:互联网 发布:梦里花落知多少81节 编辑:程序博客网 时间:2024/05/06 12:30
#include"001.h"#include<iostream>using namespace std;class NaturalNumber{private:int n;public: NaturalNumber(){}//两个构造函数对应水仙花数的第二种方法 NaturalNumber(int x){n=x;}void setValue (int x);//置数据成员n的值,要求判断是否是正整数int getValue();bool isPrime(); //判断数据成员n是否为素数,是返回true,否则返回falsevoid printFactor(); //输出数据成员n的所有因子,包括1和n自身bool isPerfect(); //判断数据成员n是否为完全数。若一个正整数n的所有小于n的因子之和等于n, //则称n为完全数, 如6=1+2+3是完全数。bool isReverse(int x);//判断形式参数x是否为数据成员n的逆向数(例321是123的逆向数)。bool isDaffodil(); //判断形式参数x是否是水仙花数。水仙花数的各位数字立方和等于该数,//如153=1*1*1+5*5*5+3*3*3void printDaffodils(); //显示所有大于1,且小于数据成员n的水仙花数;};int main(void){NaturalNumber 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();nn.setValue(6);cout<<nn.getValue()<<(nn.isPerfect()?"是":"不是")<<"完全数..."<<endl; int xx=321; nn.setValue(123);cout<<nn.getValue();cout<<(nn.isReverse(xx)?"是":"不是")<<xx<<"的逆向数..."<<endl; nn.setValue(153);cout<<nn.getValue()<<(nn.isDaffodil()?"是":"不是")<<"水仙花数..."<<endl; nn.setValue(12345); cout<<nn.getValue()<<"以内的水仙花数:"; nn.printDaffodils();}//请在下面定义类中的各个成员函数void NaturalNumber::setValue (int x){ n=x;}int NaturalNumber::getValue(){ return n;}bool NaturalNumber::isPrime(){ for(int i=2;i<sqrt(n);++i) if(0==n%i)return false; return true;}void NaturalNumber::printFactor(){ for(int i=2;i<n;++i) if(0==n%i)cout<<i<<","; cout<<endl;}bool NaturalNumber::isPerfect(){ int sum=0; for(int i=1;i<n;++i) if(0==n%i) { sum+=i; } if(n==sum)return true; else return false;}bool NaturalNumber::isReverse(int x){ int m=0; while(x) { m=m*10+x%10; x=x/10; } if(m==n)return true; else return false;}bool NaturalNumber::isDaffodil(){ int m=0,m2=n; while(m2) { m+=(m2%10)*(m2%10)*(m2%10); m2=m2/10; }// cout<<"m="<<m<<endl; if(n==m)return true; else return false;}void NaturalNumber::printDaffodils(){ for(int i=2;i<n;i++) { int m=0,m2=i; while(m2) { m+=(m2%10)*(m2%10)*(m2%10); m2=m2/10; } if(m==i)cout<<i<<","; } cout<<endl;// int i=0;// for(i=2;i<n;i++)// {// NaturalNumber qq(i);// if(qq.isDaffodil())cout<<i<<",";// }// cout<<endl;}
0 0
- 正整数类
- 正整数类
- 正整数类
- 正整数类
- 正整数类
- 正整数类
- 正整数类
- 正整数类
- 正整数类
- 正整数类
- 正整数类
- 设计正整数类
- 定义正整数类
- 4_4正整数类
- 4-4 正整数类
- 4-4 正整数类
- 项目四-正整数类
- 4-3 正整数类
- 仿微信的列表滑动删除(一) 可滑动控件
- android多媒体框架之流媒体具体流程篇2----base on jellybean(十二) .
- C语言的system函数
- 【流媒體】H264—MP4格式及在MP4文件中提取H264的SPS、PPS及码流 .
- Repeater中的CheckBox绑定和存储数据之服务器控件
- 正整数类
- Automation方法进行EXCEL的读写
- 如何删除sql里的维护计划
- Win7系统快捷键
- 如何删除装在D盘的操作系统
- IOS之分析网易新闻存储数据(CoreData的使用,增删改查)
- Android TableLayout实现边框
- 断点续传
- 让人迷茫的符号——C语言符号奇怪的用法以及注意事项