杭电ACM2015偶数求和——C语言解析

it2025-04-24  19

偶数求和

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

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(void){ int n,m; while(scanf("%d %d",&n,&m) != EOF){ int q,e; q=n/m; e=n%m; printf("%d",(2+2*m)/2); //输出第一个平均数 for(int i=1;i<q;i++) printf(" %d",(2+2*m)/2+2*m*i); //2*m*i是偶数数列的递增值 if(e != 0) //判断数列是否有剩余 printf(" %d",(2*m*q+2+2*m*q+2*e)/2); //剩余偶数求平均数 printf("\n"); } return 0; }

这道题主要需要了解偶数数列的平均值的算法和找到偶数数列平均值的递增规律。

最新回复(0)