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 7import java.util.Scanner; public class POJ2015 { public static void main(String[] args) { Scanner cin = new Scanner(System.in); while(cin.hasNext()) { int n = cin.nextInt();//n表示数列的长度 int m = cin.nextInt();//m表示按照多少个来求平均值 //System.out.println(n +" "+ m); int[] arr = new int[n];//定义数组长度为n /** * 给数组赋值,为偶数。 * */ for(int i = 2; i <= 2 * n; i = i + 2) { arr[i/2 - 1] = i; } // for(int i = 0; i < arr.length; i ++) { // System.out.println(arr[i]); // } int count_1 = 0; int count = 0;//存放个数 int avg = 0;//存放平均值 int sum = 0;//存放m数组中m个数的和 for(int i = 0; i < arr.length; i ++) { count_1 ++; count ++; sum += arr[i]; if (count == m && count_1 != n) { count = 0;//当count为m后,则count初始为0。 avg = sum / m; System.out.print(avg + " "); sum = 0; } if (count_1 == n) { avg = sum / count; System.out.println(avg); sum = 0; } } } } }