题目 1159: [偶数求和]
题目描述
有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数(公差为2的等差数列),现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。
输入
输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。
输出
对于每组输入数据,输出一个平均值序列,每组输出占一行
样例输入
3 2 4 2
样例输出
3 6 3 7
#include<stdio.h> int a[105] ,s[105]; int main() { int i ,m ,n; while(scanf("%d %d" ,&n ,&m) == 2) { for(i = 0;i < n;i++) { a[i] = (i + 1) * 2; } if(n % m == 0) { int q = 0; for(int j = 0;j < n - (n % m);j += m) { int sum1 = 0; for(i = j;i < j + m;i++) { sum1 += a[i]; } if(q++) printf(" "); printf("%d",sum1 / m); sum1 = 0; } printf("\n"); } else { int sum2 = 0 ,sum1 = 0; for(i = n - (n % m);i < n;i++) { sum2 += a[i]; } for(int j = 0;j < n - (n % m);j += m) { for(i = j;i <= j + m - 1;i++) { sum1 += a[i]; } printf("%d ",sum1 / m); sum1 = 0; } printf("%d\n",sum2 / (n % m)); } } return 0; }

浙公网安备 33010602011771号