版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yuehailin/article/details/87740619
1017: 序列求平均
时间限制: 1 Sec 内存限制: 128 MB
题目描述
有一个长度为 n(n<=100)的数列, 该数列定义为从2开始的递增有序偶数, 现在要求你按照顺序每 m个数求出一个平均值, 如果最后不足 m个, 则以实际数量求平均值。编程输出该平均值序列。
输入
输入数据有多组, 每组占一行, 包含两个整数 n和 m (1<=m,n<=100), n和 m的含义如上所述。
输出
对于每组输入数据, 输出一个平均值序列, 每组输出占一行。
样例输入
3 2
4 2
样例输出
3 6
3 7
来源/分类
代码:
#include<stdio.h>
int main(){
int n,m;
while(scanf("%d%d",&n,&m)!=EOF){
int len;
int i;
int a[101];
if(n%m==0){
len = n/m;
if(m==1){
for(i=0;i<len;i++)
a[i]=(i+1)*2;
}
else{
for(i=0;i<len;i++){
a[i]=(2*m*i+2+2*m*i+2+2*(m-1))/2;
}
}
}
else{
len = n/m+1;
for(i=0;i<len-1;i++){
a[i]=(2*m*i+2+2*m*i+2+2*(m-1))/2;
}
a[len-1]=(2*n+(n-n%m+1)*2)/2;
}
for(i=0;i<len;i++)
printf("%d ",a[i]);
printf("\n");
}
}
我的代码可能不够简洁,如有建议请留言,谢谢