题目 1159: 偶数求和
题目描述:
有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数(公差为2的等差数列),现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。
代码:
package lanqiao;
import java.io.BufferedInputStream;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextInt()) {
int n=sc.nextInt();
int m=sc.nextInt();
int index=0;//当前加到的位置
int num=0;//当前的数字
int sum=0;
while (index<n) {
if ((n-index)>=m) { //还有m个数字能取
sum=0;
for (int i = 0; i < m; i++) {
num+=2;
sum+=num;
index++;
}
System.out.print(sum/m+" ");
}else{
int len=n-index;//所剩的数字个数
sum=0;
for (int i = 0; i < len; i++) {
num+=2;
sum+=num;
index++;
}
System.out.println(sum/len);
}
}
}
}
}