首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
打开考生文件夹下的解决方案文件proj3,其中声明了MagieNumber类,该类是一个用于表示连续正整数序列的类。MagicNumber的成员函数Intimacy的功能是查找该序列中的亲密数对。亲密数对的定义是:如果整数a的所有正因子(包括l,但不包括a
打开考生文件夹下的解决方案文件proj3,其中声明了MagieNumber类,该类是一个用于表示连续正整数序列的类。MagicNumber的成员函数Intimacy的功能是查找该序列中的亲密数对。亲密数对的定义是:如果整数a的所有正因子(包括l,但不包括a
admin
2020-12-21
33
问题
打开考生文件夹下的解决方案文件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://jikaoti.com/ti/JYl0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序: #include <iostream> using namespace std; class MyClass { public: MyClass(int x):val(x) {} void
有如下程序:#include<iostream>usingnamespacestd;classBase{public:virtualvoidfunction1(){cout<<’0’;}voidf
如下函数的作用是以双倍行距输出文件: void double_space(ifstream& f, ofstream& t){ char c; while (______) { ______;
下列运算符函数中肯定不属于类FunNumber的成员函数的是
下列符号中可以用作C++标识符的是
下列关于模板形参的描述中,错误的是
在C++语言中,不合法的实型数据的是
下面不属于软件需求规格说明书内容的是
下列关于赋值运算符“=”重载的叙述中,正确的是()。
下列字符串中可以用作C++标识符的是()。
随机试题
程序设计中,________可以看作是由有限个步骤组成的用来解决问题的具体过程,实质反映的是解决问题的思路。
按规范要求设计的土桩或灰土桩能够消除地基湿陷性的直接原因是()。
避雷器安装前的检查要求,正确的有()。
下列关于可燃性液体的闪点的说法中,正确的有()。
甲公司采用资产负债表债务法核算所得税费用,适用的所得税税率为25%,甲公司2018年度利润总额为2000万元,当年发生的交易或事项中,会计规定与税法规定存在差异的项目如下:(1)2018年12月31日,甲公司应收账款账面余额为4000万元,甲公司对该应收
2009年3月1日,上市公司甲(下称甲公司)公布重组方案,其要点如下:①甲公司将所属全部资产(包括负债)作价2.5亿元出售给本公司最大股东A;②将其持有甲公司的35%股份全部协议转让给B,作价2.5亿元;③B将其持有的乙公司100%的股份作价2.5亿元,用
案例下面是某求助者16PF的测验结果:关于联合型瑞文测验(CRT),正确的说法包括()
朴素是一种美。因为朴素美的形式不复杂,不______,寓美于清淡之中,所以更能衬托出人的自然美。重要的是.人们通过外表的朴素美.能看到______的内在美,这种美不显露于外,______它会让人的精神之美益加彰显。依次填入横线处最恰当的一项是()。
1,3,4,13,53,(),36571
王某与张某原系夫妻关系。2007年1月16日,为给王某治病,张某以自己的名义向赵某借款3万元,约定于2007年5月16日偿还,并出具借条一张。孙某以保证人的身份在借条上签字,但未与赵某约定保证方式、保证期间和保证范围。债务到期后,张某未偿还借款。2007年
最新回复
(
0
)