HDU-ACM2015偶数求和
2016-03-25 15:37
531 查看
杭电ACM2015 偶数求和
[align=left]Problem Description[/align]
有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。
[align=left]Input[/align]
输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。
[align=left]Output[/align]
对于每组输入数据,输出一个平均值序列,每组输出占一行。
[align=left]Sample Input[/align]
3 2
4 2
[align=left]Sample Output[/align]
3 6
3 7
解法一(这种方法会比较好理解一些):
解法二(这种方法更优化些,需要好好理解):
[align=left]Problem Description[/align]
有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。
[align=left]Input[/align]
输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。
[align=left]Output[/align]
对于每组输入数据,输出一个平均值序列,每组输出占一行。
[align=left]Sample Input[/align]
3 2
4 2
[align=left]Sample Output[/align]
3 6
3 7
解法一(这种方法会比较好理解一些):
import java.util.Scanner; class Main{ public static void main(String[] args) { Scanner input=new Scanner(System.in); int arr[]=new int[100]; arr[0]=2; for (int i=1;i<arr.length;i++){ arr[i]=arr[i-1]+2; } while (input.hasNext()){ int n=input.nextInt(); int m=input.nextInt(); int c=0,ave=0; int t=0; if (n%m!=0){ t=n%m; } int space=0; for (int i=0;i<n-t;i++){ ave+=arr[i]; c++; if (c==m){ if (space++>0){ System.out.print(" "); } System.out.print(ave/m); c=0; ave=0; } } if (t!=0){ for (int i=0;i<t;i++){ ave+=arr[n-t+i]; } System.out.print(" "+ave/t); } System.out.println(); } } }
解法二(这种方法更优化些,需要好好理解):
import java.util.*; class Main { public static void main(String args[]){ Scanner input=new Scanner(System.in); while (input.hasNext()) { int n=input.nextInt(); int m=input.nextInt(); int ave=0; int i=0; while (n>m) { ave=(m+1)+2*m*i; n-=m; i++; System.out.print(ave+" "); } ave=(1+n)+2*m*i; System.out.println(ave); } } }
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树