首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
打开考生文件夹下的解决方案文件proj3,其中声明了MagieNumber类,该类是一个用于表示连续正整数序列的类。MagicNumber的成员函数Intimacy的功能是查找该序列中的亲密数对。亲密数对的定义是:如果整数a的所有正因子(包括l,但不包括a
打开考生文件夹下的解决方案文件proj3,其中声明了MagieNumber类,该类是一个用于表示连续正整数序列的类。MagicNumber的成员函数Intimacy的功能是查找该序列中的亲密数对。亲密数对的定义是:如果整数a的所有正因子(包括l,但不包括a
admin
2020-12-21
67
问题
打开考生文件夹下的解决方案文件proj3,其中声明了MagieNumber类,该类是一个用于表示连续正整数序列的类。MagicNumber的成员函数Intimacy的功能是查找该序列中的亲密数对。亲密数对的定义是:如果整数a的所有正因子(包括l,但不包括a自身)之和等于b,并且整数b的所有正因子(包括1,但不包括b自身)之和等于a,则称整数a和b为亲密数对。
请根据亲密数的定义编写成员函数Intimacy。在main函数中给出了一组测试数据,此时程序的输出应该是:
1和1000之间的亲密数对为:
220和284
注意:只需在函数Filter的//*******333*******和//*******666*******之间填入若干语句,不要改动程序中的其他内容。
//MagicNumber.h
#include
#include
#inelude
#pragma warning(disable:4996)
using namespace std;
class MagicNumber
{
public:
MngicNumber(int x1,int x2):min(x1).max(x2),count(0){}
void ResetCount(){count=0;}
int GetCount()const{return count;}
int GetSet(int index){return set[index];}
void Intimacy();//寻找亲密数对
void Print()
{
cout<<rain<<“和”<<max<<"之间的亲密数为:<<endl;
for(int i=0;i<count;i+=2)
cout<<set
<<和<<set[i+1]<<endl;
}
private:
int digits;//Magic数的位数
int min,max;//待计算的数值范围
int count;//Magic数的数量
int set[40];//Magic数集合
};
void writeToFile(const char*):
//main.cpp
#include”MagicNumber.h”
void MagicNumber::Intimacy()
{
int number;
for(number=min;number<max;number++)
{
//******333******
//*****666*****
}
}
}
int main()
}
MagicNumber obj(1,1000);
obj.Intimacy();
obj.Print();
writeToFile(““);
return 0;
}
选项
答案
vojd MagieNumber::Intimacv() for(number=rain:number<max:number++) int i; //过滤已经处理过的亲密数对 bool exist=false; if(number==set[i]){ exit=ture; } if(exist) continue; int numberA=number; int nurnberB=0; int sumA=0,sumB=0: //求numherA的所有正因子之和sumA for(i=1;i<=numberA/2;i++)} |f(numberA%i==0)} sumA+=i; } } //判断sumA的合法性 if(sumA<min‖sumA>max‖sumA==mumber(A){ continue; } //让numberB等于sumA求numberB的所有正因子之和sumB numberB=sumA; for(i=1;i<=numberB/2;j++)} if(numberB%i==0){ sumB+=i: } } //判断numberA和numberB是否属于亲密数对若是存入set数组更新count if(sumB==number(A){ set[count++]=numberA; set[count++]=numberB; } }
解析
根据题意.Intimacy是求min和max之间的亲密数对,程序首先遍历min和max之间的所有整数,在遍历的过程中,判断当前的numberA是否处理过,如果处理过继续判断下一个数;然后求numberA的正因子之和sumA,如果sumA不在min和max之间,或sumA等于numberA,说明当前sumA不合法,继续处理下一个数:否则sumA赋给numberB,求numberB的正因子之和sumB,最后判断sumB是否与numberA相等,如果相等,说明numberA和numberB属于亲密数对,存入set数组并更新count。
转载请注明原文地址:https://kaotiyun.com/show/LOyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
Sample是一个类,执行下面语句后,调用Sample类的构造函数的次数是Samplea[2],*P=newSample;
有如下类定义:classXX{intxdata;public:xx(intn=O):xdata(n){}};classYY:publicXX{intydata;public:YY(intm=0,intn=O):XX(m),
已知Value是一个类,value是Value的一个对象。下列以非成员函数形式重载的运算符函数原型中,正确的是
关于运算符重载,下列表述中正确的是
有如下类定义:classAA{inta;public:AA(intn=0):a(n){}};classBB:publicAA{public:BB(intn)______};
已知下列语句中的×和y都是int型变量,其中错误的语句是
已知主函数中通过如下语句序列实现对函数模板swap的调用:inta[10],b[10];swap(a,b,10);下列对函数模板swap的声明中,会导致上述语句序列发生编译错误的是()。A)template<ty
有如下函数定义;void func(int a,int & b){a++;b++;}若执行代码段:int x=0,y=1;func(x,y);则变量x和y的值分别是
下列关于类模板的模板参数的叙述中,错误的是()。
随机试题
内部核算下会计组织机构有哪些特点?
患者李某,与家人争吵后口服大量巴比妥钠,急送入院,立即给予洗胃,洗胃灌洗液宜用
男,25岁右膝肿痛渐进行性加重半年,关节功能稍受限,局部触痛,皮温增高。血清碱性磷酸酶正常,X线片示右胫骨上端5cm×7cm偏旁膨胀骨性破坏,似皂泡状,皮质薄,部分破坏,局部软组织肿胀影,无骨膜反应。最可能诊断是
了解某学校在校生视力减退情况,观察单位是
纳入《药品目录》的药品,应是临床必需、安全有效、价格合理、使用方便、市场能够保证供应的药品,并具备下列哪些条件之一()。
同一种砌体结构,对其承重墙、柱的允许高厚比[β]值进行比较,下列结论正确的是()。
甲公司是ABC会计师事务所的常年审计客户。A注册会汁师负责审计甲公司2017年度财务报表,确定财务报表整体的重要性为240万元。资料一:A注册会计师在审计工作底稿中记录了所了解的甲公司情况及其环境,部分内容摘录如下:(1)甲公司原租用的办公楼月租金
从所给的四个选项中,选择最合适的一个填入问号处,使之呈现一定的规律性。
在SQLServer2008中,设各系统数据库当前主要数据文件及日志文件的大小如下表所示:现要在该系统中创建一个新的用户数据库,则用户数据库中主要数据文件的大小不能小于()。
Pollutionisa"dirty"word.Topollutemeanstocontaminate--topsoilorsomethingbyintroducingimpuritieswhichmake【C1】_____
最新回复
(
0
)