WizenZhang
9/29/2018 - 1:55 AM

问题 1159: 【偶数求和】

有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数(公差为2的等差数列),现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。 输入 输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。 输出 对于每组输入数据,输出一个平均值序列,每组输出占一行。 样例输入 3 2 4 2 样例输出 3 6 3 7

#include<iostream>
using namespace std;
int fun(int n,int m)
{
    int s,y,result=0;//初始化参数,s:商,y:余数,result:结果
    s=n/m,y=n%m;
    for(int i=1;i<=s;++i){
        result=2*(m*i-m+1);
        result=result+m-1;//前m项和
        cout<<result<<" ";
    }
    if(y!=0){
        result=2*(m*(s+1)-m+1);
        result=result+y-1;//前y项和;
        cout<<result<<endl;
    } 
	return 0;  
}
int main()
{
    int n,m;
    while(cin>>n>>m) fun(n,m);
    return 0;
}