请编写一个函数fun(),它的功能是计算并输出给定整数n的所有因子(不包括1与自身)之和(规定n的值不大于1000)。 例如:输入n的值为856,则输出为sum=763。 注意:部分源程序已存在文件test33_2.cpp中。 请勿修改主函数main和其他

admin2010-02-08  15

问题 请编写一个函数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中去。此种题型为典型考题。
转载请注明原文地址:https://jikaoti.com/ti/zFkiFFFM
0

最新回复(0)