题目来源:
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 }
时间: 2024-10-10 07:10:43