中南大学复试上机:

版权声明:本文为博主原创文章,未经博主允许不得转载。 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");
	 }
	 
} 

我的代码可能不够简洁,如有建议请留言,谢谢

猜你喜欢

转载自blog.csdn.net/yuehailin/article/details/87740619