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 偶数求和入门的主要内容,如果未能解决你的问题,请参考以下文章