9630065 | 2013-11-20 11:27:36 | Accepted | 2015 | 125MS | 4916K | 657 B | Java | jack |
偶数求和
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 37775 Accepted Submission(s): 16338
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
import java.util.Scanner;
public class hdu2015 {
public static void main(String[] args) {
int[] arr =new int[101];
int m=2;
for(int i=1;i<=100;i++){
arr[i]=m;
m+=2;
}
Scanner cin = new Scanner(System.in);
while(cin.hasNext()){
int n=cin.nextInt();
int k=cin.nextInt();
int cou=0;
for(int i=1;i<=n;i++){
cou+=arr[i];
if(i%k==0){
if(i==n) System.out.print(cou/k ); //确保万一i%k==0,最后不能带空格
else System.out.print(cou/k+" ");
cou=0;
}
}
if(cou!=0) System.out.println(cou/(n%k)); //如果最后不足m个,则以实际数量求平均值,刚开始忘了cou/(n%k),没想到竟然AC了,郁闷
else System.out.println();
}
}
}