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

admin2020-10-21  310

问题 使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。程序的功能是寻找1~500以内的亲和数并显示出来,函数amicableNum(int m,int n)判定两个数是否是亲和数。
    亲和数的定义为:两个数m和n,如果n的所有因子之和(因子除掉自身)等于m,且m的所有因子等于n,则m、n是互为亲和数。
    注意:不能修改程序的其他部分,只能补充amicableNum(int m,int n)函数。
    1    #include
    2  int amicableNum(int n)
    3  {
    4    int sum=0 ;
    5    for(int.i=1; i    6    {  
    7    if(n%i==0)
    8    {
    9    sum+=i ;
    10    }
    11    }
    12    return sum;
    13    }
    14    bool amicableNum(int m,int n)
    15    {
    16
    17    }
    18   void main()
    19   {
    20    cout<<"1~500以内的亲和数有:"<    21    for(int i=1 ; i<500 ; i++)
    22    {
    23    for(int j=i+1;j<500;j++)
    24    {
    25    if(i!=j)
    26    {
    27    if(amicableNum(i,j)==1)
    28    {
    29    cout<    30    }
    31    }
    32
    33    }
    34    }
    35    return;
    36  }

选项

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

解析 函数amicableNum(int m,int n)判定两个数是否是亲和数,亲和数指两个数的因子(除去本身)和分别是对方,因此在判断亲和数时先求这两个数的因子和,然后比较便可知是否是亲和数。
    [解题思路]
    (1)程序中定义了两个amicableNum0函数,由于参数个数不同重载了amicableNum0函数,函数amicableNum(intn)返回n的因子和,而函数amicableNum(int m,int n)则是判断m和n是不是亲和数,两个函数功能并不相同。
    (2)在amicableNum(int m,int n)函数中,可调用amicableNum(intn)函数求m和n的因子和,然后比较两个因子和,如果两个因子和相同则返回真,否则返回假。
转载请注明原文地址:https://kaotiyun.com/show/Igyp777K
0

相关试题推荐
最新回复(0)