首页 > 代码库 > 1104 求因子和

1104 求因子和

题目来源:
https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=1104
Description
?输入正整数n(2<=n<=1000),计算并输出n的所有正因子(包括1,不包括自身)之和。要求程序定义一个FacSum ()函数和一个main()函数,FacSum ()函数计算并返回n的所有正因子之和,其余功能在main()函数中实现。?
int FacSum(int n)?
{?
//计算n的所有正因子(包括1,不包括自身)之和sum,本函数返回sum?
}?
Input
输入正整数n(2<=n<=1000)。
Output
?输出n的所有正因子(不包括自身)之和。
Sample Input
1000
Sample Output
1340
题意描述:
输入正整数n(2<=n<=1000)
用一个自定义函数计算并返回n的正因子之和在main函数中输出
解题思路:
Facsun函数中,枚举1到n(但不等于n),能整除,则sum加上该因子

程序代码:

 1 #include<stdio.h>
 2 int Facsum(int n);
 3 int main()
 4 {
 5     int n;
 6     while(scanf("%d",&n) != EOF)
 7     {
 8         printf("%d\n",Facsum(n));
 9     }
10     return 0;
11  } 
12 int Facsum(int n)
13 {    
14     int i,sum;
15     
16     if(n==1)
17     return 1;
18     else
19     for(sum=0,i=1;i<n;i++){
20         if(n % i==0)
21             sum += i;
22             
23     }
24     return sum;    
25 }

 

1104 求因子和