首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
打开考生文件夹下的解决方案文件proj3,其中声明了MagieNumber类,该类是一个用于表示连续正整数序列的类。MagicNumber的成员函数Intimacy的功能是查找该序列中的亲密数对。亲密数对的定义是:如果整数a的所有正因子(包括l,但不包括a
打开考生文件夹下的解决方案文件proj3,其中声明了MagieNumber类,该类是一个用于表示连续正整数序列的类。MagicNumber的成员函数Intimacy的功能是查找该序列中的亲密数对。亲密数对的定义是:如果整数a的所有正因子(包括l,但不包括a
admin
2020-12-21
70
问题
打开考生文件夹下的解决方案文件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全国计算机二级
相关试题推荐
有如下类定义:classXX{intxdata;public:xx(intn=O):xdata(n){}};classYY:publicXX{intydata;public:YY(intm=0,intn=O):XX(m),
下列语句分别是不同程序中的第一个输入输出语句。若去掉其中的“<<left”,输出效果将发生变化的是
下列是重载乘法运算符的函数原型声明,其中错误的是
通过运算符重载,可以改变运算符原有的
若语句: cout<<setfill(’>’)<<setw(5)<<3141512<<setw(5)<<"OK!"; 是程序中第一个输出语句,则输出结果是
下列关于C++预定义流对象的叙述中,正确的是
下列关于运算符重载的叙述中,错误的是( )。
在C++语言中,不合法的实型数据的是
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示学生学号的类CStudentID,但类CStudentID的定义并不完整。运行结果为:学生的学号为:200805学生名为:李伟删除学生学号为:200805
将E-R图转换为关系模式时,实体和联系都可以表示为
随机试题
A.四环素B.氯霉素C.链霉素D.嘌呤霉素E.放线菌酮(2006年第113题)能与原核生物核蛋白体小亚基结合,改变其构象,引起读码错误的抗菌素是
对结核性腹膜炎最有诊断价值的检查是
锅炉房的大小是由锅炉房设计容量确定的,而容量决定于()。
下列关于水喷雾灭火系统水雾喷头的选型及布置的说法中,正确的是()。
请根据所提供的资料,在报关单栏目的备选项中,选出最合适的答案。大连贝森电机制造有限公司(210224×××××)委托上海机械进出口公司(310591××××),凭2100-2008-WZ00017号自动进口许可证,进口生产内销产品所用成卷薄钢板一
明清歌曲极为丰富,特别是民歌,在明中期后得到很大的发展,文人们积极从事民歌的收集、整理、出版工作,________选编的《挂枝儿》《山歌》,搜集歌词800余首。
根据现行刑法和司法解释的规定,下列情形中应按数罪并罚处理的是
某市场调研公司对品牌商品销售情况进行调查后,得到下图(a)所示的销量统计数据。将图(a)所示的销售量按产品类别分类汇总,得到如图(b)所示的汇总结果。在进行分类汇总前,应先对图(a)的数据记录按(2)字段进行排序;选择“数据/分类汇总”命令,在弹出的“
是校园网某台主机使用浏览器访问某个网站,在地址栏键入其URL时用sniffer捕获的数据包。请根据图中信息回答下列问题。该主机的IP地址是[20]。
【B1】【B11】
最新回复
(
0
)