hdu 2015 偶数求和

http://acm.hdu.edu.cn/showproblem.php?pid=2015

题目大意

有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。

Sample Input

3 2

4 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;
}
/* bottom:40px 距浏览器底部距离 right:40px 距浏览器右边距离 */