OJ1104: 求因子和(函数专题)

来源:互联网 发布:抛硬币实验数据 编辑:程序博客网 时间:2024/06/06 20:08

OJ1104: 求因子和(函数专题)
[链接地址:]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

思路:

  1. 定义函数,并输入一个 正整数 n (2<=n<=1000),将 n 传入 FacSum(int n)函数;
  2. 从1开始,循环遍历小于n,并用满足条件 n % i == 0 (能整除n),用sum累加求和;
  3. 返回因子之和 sum

总结:
1.因子即为可以整除除数的数
2.使用循环遍历,一 一判断

代码实现:

#include<stdio.h>int FacSum(int n);int main(){    int n = 0;    scanf("%d", &n);    printf("%d\n", FacSum(n));    return 0;} int FacSum(int n)//计算并返回所有正因子之和 {    int i = 0, sum = 0;    for(i = 1; i < n; i++)//循环遍历n,求出因子,并累加     {        if(n % i == 0)        {            sum += i;        }    }    return sum; }