问答题
请编写一个函数fun(),它的功能是计算并输出给定整数n的所有因子(不包括1与自身)之和(规定n的值不大于1000)。
例如:输入n的值为856,则输出为sum=763。
注意:部分源程序已存在文件test33_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数count的花括号中填写若干语句。
文件test33_2.cpp清单如下:
#include<stdio. h>
#include<iostream. h>
int fun(int n)
void main ( )
int n, sum;
cout<<"Input n:"<<end1;
cin>>n;
sum=fun (n);
cout<<" sum= /n"<<sum<<end1;
【正确答案】
int fun(int n)
{int s=0,i;
for(i=2;i<=n-1;i++)
if (n%i==0)
s+=i;
return s;
}
【答案解析】[解析] 本题的解题思路是用n逐个去除以2到n-1之间的所有数,如果n能被除尽,则把所得到的一个因子累加到s中去。此种题型为典型考题。