http://acm.hdu.edu.cn/showproblem.php?pid=2015
题目大意
有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。
Sample Input
3 2
Sample Output
3 6
3 7
方法与总结
- 分情况输出
- 注意细节
代码
#include<iostream>
using namespace std;
int main()
{
int n,m;
while(cin>>n>>m)
{
int sum=0;
if(n%m==0)
{
for(int j=2;j<=2*(n/m);j=j+2)
{
for(int i=(j-2)*m+2;i<=j*m;i=i+2)
sum+=i;
if(j==2*(n/m))
cout<<sum/m<<endl;
else
cout<<sum/m<<" ";
sum=0;
}
}
else
{
for(int j=2;j<=2*(n/m);j=j+2)
{
for(int i=(j-2)*m+2;i<=j*m;i=i+2)
sum+=i;
cout<<sum/m<<" ";
sum=0;
}
for(int j=2*(n/m)*m+2;j<=2*n;j=j+2)
sum+=j;
cout<<sum/(n%m)<<endl;
}
}
return 0;
}