杭电ACM 2015 偶数求和-C语言

http://acm.hdu.edu.cn/showproblem.php?pid=2015

#include 
int main(){
	int n,m,i,j,num=0,s;
	while(scanf("%d %d",&n,&m)!=EOF){
		for(i=0;i=n/m&&n%m!=0) {printf("%d",(num+2+num+2*(n%m))/2);}
		}
		printf("\n");num=0;
	}
	return 0;
}

最主要是实现:如果最后不足m个,则以实际数量求平均值。

printf("%d",(num+2+num+2*(n%m))/2); 此处运用等差数列性质。num+2是首项;num+2*(n%m)是末项,即num+2+2*(n%m)[an=a1+m*d],此处注意运算优先级,不加括号则结果错误。

注:题干限定偶数。故int即可。

 

你可能感兴趣的:(C语言,杭电ACM)