1181: 零起点学算法88——偶数求和

时间:2021-11-11 01:40:00

1181: 零起点学算法88——偶数求和

Time Limit: 1 Sec  Memory Limit: 32 MB   64bit IO Format: %lld
Submitted: 1781  Accepted: 540
[Submit][Status][Web Board]

Description

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

 

Input

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

 

Output

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

 

Sample Input 1181: 零起点学算法88——偶数求和

 
3 2
4 2

 

Sample Output

3 6
3 7

参考代码:
 1 #include<stdio.h>
 2 
 3 int main()
 4 {
 5     int a[100];
 6     for(int i=0;i<100;i++)  //构建好偶数序列
 7     {
 8         a[i]=2*i+2;
 9     }
10     int n,m;
11     while(scanf("%d%d",&n,&m)!=EOF)
12     {
13         int i;
14         for(i=0;i+m<n;i+=m)  //每m个数相加并求平均值
15         {
16             int sum=0;
17             for(int j=0;j<m;j++)
18             {
19                 sum+=a[j+i];
20             }
21             printf("%d ",sum/m);
22         }
23         int sum=0,ct=0;  //剩余不满足m个数相加并求平均值
24         for(;i<n;i++)
25         {
26             sum+=a[i];
27             ct++;
28         }
29         printf("%d\n",sum/ct);
30 
31     }
32 
33     return 0;
34 }