使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。程序的功能是寻找1~500以内的亲和数并显示出来,函数amicableNum(int m,int n)判定两个数是否是亲和数。 亲和数的定义为:两个数

admin2015-07-20  26

问题  使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。程序的功能是寻找1~500以内的亲和数并显示出来,函数amicableNum(int m,int n)判定两个数是否是亲和数。
    亲和数的定义为:两个数m和n,如果n的所有因子之和(因子除掉自身)等于m,且m的所有因子等于n,则m、n是互为亲和数。
    注意:不能修改程序的其他部分,只能补充
amicableNum(int m,int n)函数。
#include
int amicableNum(int n)
{
    int sum=0;
    for(int i=1; i    {
    if(n%i==0)
    {
    sum+=i;
    }
    }
    return sum;
  }
  bool amicableNum(int m,int n]
  {
  }
  void main()
  {
    cout<<“1~5 0 0以内的亲和数有:
”<    for(int i=1 ; i<5 0 0;i++)
    {
    for(int j=i+l;j<500;j++)
    {
    if(i!=j)
    {
    if(amicableNum
(i,j)==1)
    {
    cout<    }
    }
    }
    }
    return;
}

选项

答案if(amicableNum(m)==n &&amicableNum(n) ==m) return 1 ; return 0;

解析 (1)程序中定义了两个amicableNumO函数,由于参数个数不同重载了amicableNumO函数,函数amicableNum(intn)返回n的因子和,而函数amicableNum(int in,int n)~lJ是判断m和n是不是亲和数,两个函数功能并不相同。
(2)在amicableNum(int m,int n)函数中,可调用amicableNum(hat n)函数求m和11的凶子和,然后比较两个因子和,如果两个因子和相同则返回真,否则返回假。
转载请注明原文地址:https://jikaoti.com/ti/9DE0FFFM
0

最新回复(0)