使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列上函数说明和代码,补充空出的代码。sum(intn)计算所有n的因子之和(不包括1和自身)。 注意:不能修改程序的其他部分,只能补充sum()函数。 #include<iostream.h>

admin2016-10-28  27

问题 使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列上函数说明和代码,补充空出的代码。sum(intn)计算所有n的因子之和(不包括1和自身)。
注意:不能修改程序的其他部分,只能补充sum()函数。
#include<iostream.h>
int sum(int n)
{

}
void main()
{
cout<<sum(10)<<endl;
cout<<sum(200)<<endl;
cout<<sum(400)<<endl;
return;
}

选项

答案int all=0; for(int i=2;i<n;i++) { if(n%i==0) { all+=i; } } return all;

解析 (1)数n的因子是指为整除n等于0的所有自然数的集合。
(2)为了实现计算所有n的因子之和且不包含1和自身,函数中定义一个变量all用来保存求和结果,并为最终结果在函数结束时返回;
(3)在循环中逐个寻找n的因子,为了在计算中排除掉1和n本身,因此循环变量i的变化范围为从2到n-1。
(4)如果n%i==0,说明i是n的因子,因此将i加到all上。
转载请注明原文地址:https://kaotiyun.com/show/eKNp777K
0

最新回复(0)