偶数求和
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。
输入
输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。
输出
对于每组输入数据,输出一个平均值序列,每组输出占一行。
示例输入
3 2 4 2
示例输出
3 6 3 7
代码如下:
#include<stdio.h>
int main(){
int m, n, i, j, x, a, t;
while(scanf("%d%d", &n, &m)!=EOF)
{
x = 1; t = 0;
a = n % m;
if(a != 0)
{
for(i = 2; i <= 2 * (n - a); i = i + 2)
{
if(x < m)
x++;
else if(x == m)
{
printf("%d ", i - m + 1);
x = 1;
}
}
for(i = 2 * (n - a) + 2; i <= 2 * n; i = i + 2)
t = t + i;
printf("%d\n", t / a);
}
else
{
for(i = 2; i <= 2 * n; i = i + 2)
{
if(x < m)
x++;
else if(x == m)
{
if( i == 2 * n)
printf("%d\n", i - m + 1);
else
{
printf("%d ", i - m + 1);
x = 1;
}
}
}
}
}
return 0;
}