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
#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int main()
{
int n, m;
int num[100], ave[100];
while (cin >> n >> m)
{
for (int i = 0; i < n; i++)
{
num[i] = (i+1) * 2;
}
int a = n / m;
int b = n % m;
int flag = 0;
for (int i = 1; i<=a ; i++)
{
int sum = 0;
for (int j = 0; j < m; j++)
{
sum = sum +num[i*flag+j];
}
ave[flag] = sum / m;
cout << ave[flag] << " ";
flag++;
}
if (b!=0)
{
int sum = 0;
for (int j = 0; j < b; j++)
{
sum = sum + num[a*m + j];
ave[flag] = sum / (j + 1);
cout << ave[flag];
}
}
cout << endl;
}
return 0;
}