问题 1159: 【偶数求和】
时间限制: 1Sec 内存限制: 128MB 提交: 669 解决: 290
题目描述
有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数(公差为2的等差数列),现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。
输入
输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。
输出
对于每组输入数据,输出一个平均值序列,每组输出占一行
样例输入
3 2 4 2
样例输出
3 6 3 7
最后几项单独处理
#include<stdio.h>
int main()
{
int i;
int j;
int n;
int m;
int ai;
int sum;
while(scanf("%d %d",&n,&m)!=EOF){
i=1;
ai=2;
while(n-i>=m){
for(sum=0,j=0;j<m;j++,i++){
sum=sum+ai;
ai=ai+2;
}
printf("%d ",sum/m);
}
sum=0;
j=n-i+1;
while(i++<=n){
sum=sum+ai;
ai=ai+2;
}
printf("%d\n",sum/j);
}
return 0;
}