杭电ACM 偶数求和

偶数求和

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 45262    Accepted Submission(s): 19773


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

Input
输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。
 

Output
对于每组输入数据,输出一个平均值序列,每组输出占一行。
 

Sample Input
3 2 4 2
 

Sample Output
3 6
3 7
 
 
 
#include<stdio.h>
int main()
{
	int n,m,i,s,j,b;
	while(scanf("%d%d",&n,&m)!=EOF)
	{
		s=0;
		b=0;
		if(n<=m)
		{
			for(i=0;i<n;i++)
			{
				b=b+2;
				s+=b;
			}
			printf("%d
",s/n);
		}
		else
		{
			if(n%m==0)
			{
				for(i=0;i<n/m;i++)
				{
					for(j=0;j<m;j++)
					{
						b=b+2;
						s=s+b;
					}
					if(i!=n/m-1)
						printf("%d ",s/m);
					else
						printf("%d
",s/m);
					s=0;
				}
			}
			else if(n%m!=0)
			{
				int c = 0 ;
				for(i=0;i<n/m;i++)
				{
					for(j=0;j<m;j++)
					{
						b=b+2;
						s=s+b;
					}c++ ;
					printf("%d ",s/m);
					s=0;
					
				}
				for(i=0;i<(n-m*c);i++)
				{
					b=b+2;
				    s+=b;
				}
			    printf("%d
",s/(n-m*c));
			}
		}
	}
	return 0;
}

原文地址:https://www.cnblogs.com/NYNU-ACM/p/4237333.html