简要题意:
长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,按顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。
解题思路:
先将n个数分成i组,每组有m个数,将每个组中的数相加求平均值,然后若分成i组后,有剩余数,将剩余的数相加求平均值。
细节处理:
- 注意规定输出格式,每个数之间用空格隔开。
- 数列需在while循环内初始化,之后是逐一递加的。
源代码:
#include<iostream>
using namespace std;
int main()
{
int n,m;
while(cin>>n>>m)
{
int k=0;
for(int i=1;i<=n/m;i++)
{
int sum=0;
if(i>1) cout<<" ";
for(int j=1;j<=m;j++)
{
k+=2;
sum+=k;
}
cout<<sum/m;
}
if(n%m)
{
int sum=0;
for(int j=1;j<=n-n/m*m;j++)
{
k+=2;
sum+=k;
}
cout<<" "<<sum/(n%m);
}
cout<<endl;
}
return 0;
}