现在的位置: 首页 > 竞赛 > 正文

Top训练营9月26日培训题解析

2012年09月27日 竞赛 ⁄ 共 231字 ⁄ 字号 暂无评论

这里给出了部分题目的解答,请在尝试自己思考和尝试后,阅读解答。

【P1205 计算所有真因子的和】

下面的这段代码应该非常熟悉了,计算1~n-1所有数的和。

1
2
3
4
5
6
7
8
9
10
int main(int argc, char *argv[])
{
    int i, n,sum=0;
    scanf("%d",&n);
    for(i=1; i<n; i++) {
        sum=sum+i;
    }
    printf("%d\n",sum);
    return 0;
}

如果我们对这些数进行筛选,只有符合一定要求的数才能进行求和,比如,求1~n-1之间所有奇数的和。在本题中,n的真因子是集合 [1,2,......,n-1] 中的某个数,可以用 i 遍历这个集合,进行判断后再求和。

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
int main(int argc, char *argv[])
{
    int i, n,sum=0;
    scanf("%d",&n);
    for(i=1;i<=n/2;i++)
    {
        if (n能被i整除)
            sum=sum+i;
    }
    printf("%d",sum);
    return 0;
}

抱歉!评论已关闭.