题目描述:输入正整数n(2<=n<=1000),计算并输出n的所有正因子(包括1,不包括自身)之和。要求程序定义一个FacSum ()函数和一个main()函数,FacSum ()函数计算并返回n的所有正因子之和,其余功能在main()函数中实现。
int FacSum(int n)
{
//计算n的所有正因子(包括1,不包括自身)之和sum,本函数返回sum
}
输入:输入正整数n(2<=n<=1000)。
输出:输出n的所有正因子(不包括自身)之和。
样例输入
1000
样例输出
1340
代码:
#include <stdio.h>
int FacSum(int n){
int i,sum=1;
for(i=2;i<n;i++){//这里区别于素数判别,求所有的因子,不仅仅是一次整除就可以,又不包括自身所以要一直循环到n-1;
if(n%i==0) sum+=i;
}
return sum;
}
int main(){
int n;
scanf("%d",&n);
printf("%d",FacSum(n));
}
运行结果:
本文介绍如何用C语言编写一个计算正整数n所有正因子和(不包括自身)的FacSum函数。程序要求在main函数中实现其他功能,输入范围为2到1000。示例输入1000,输出因子和为1340。
订阅专栏 解锁全文
1540

被折叠的 条评论
为什么被折叠?



