HDU2015 偶数求和入门

Posted 海岛Blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU2015 偶数求和入门相关的知识,希望对你有一定的参考价值。

偶数求和
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 168026 Accepted Submission(s): 68366

Problem Description
有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。

Input
输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。

Output
对于每组输入数据,输出一个平均值序列,每组输出占一行。

Sample Input
3 2
4 2

Sample Output
3 6
3 7

Author
lcy

Source
C语言程序设计练习(三)

问题链接HDU2015 偶数求和
问题简述:(略)
问题分析
  按Markdown格式重写了题解,旧版题解参见参考链接。
  这个问题是对n项公差为2的等差数列,每m项计算一个平均值输出。
程序说明
  程序的关键有以下几点:
  1.使用模除 模除运算符是%
  2.循环控制 两个循环
  3.输出控制 各项间有间隔空格,行最后没有空格。
参考链接HDU2015 偶数求和【入门】
题记:(略)

AC的C语言程序如下:

/* HDU2015 偶数求和 */

#include <stdio.h>

int main(void)
{
    int n, m;

    while (scanf("%d%d", &n, &m) != EOF) {
        int sum = 0, ai = 2, cnt = 0, i;

        for (i = 1; i <= n; i++) {
            sum += ai;
            ai += 2; /* 第1项为2,公差为2 */

            /* 求和项达到m项,则计算平均值并输出 */
            if (i % m == 0) {
                if (++cnt != 1) printf(" ");
                printf("%d", sum / m);
                sum = 0; /* 和清零 */
            }
        }

        /* 最后一个平均值:如果n是m的倍数则最后一项已经输出,否则输出最后一项。换行。 */
        if (n % m == 0) printf("\\n");
        else printf(" %d\\n", sum / (n % m));
    }

    return 0;
}

以上是关于HDU2015 偶数求和入门的主要内容,如果未能解决你的问题,请参考以下文章

hdu 2015 偶数求和

杭电 2015 偶数求和

hdu2015java

ACM HDU 2015

杭电ACM2015--偶数求和

2015.偶数求和