【ACM】P2015(*)、P2016、P2017、P2018(*)、P2019代码演示
来源:互联网 发布:vmware12安装ubuntu 编辑:程序博客网 时间:2024/05/29 14:15
[P2015问题概述]:偶数求和
/*** 偶数求和Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 87871 Accepted Submission(s): 37068Problem Description有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。Input输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。Output对于每组输入数据,输出一个平均值序列,每组输出占一行。Sample Input3 24 2Sample Output3 63 7 * */
代码演示(参考):
package ac;import java.util.Scanner;public class P2015{ public static void main(String[] args){ Scanner scanner=new Scanner(System.in); while(scanner.hasNextInt()){ int n=scanner.nextInt(); int m=scanner.nextInt(); int number=0,sum=0,x=2; if(n%m!=0){ number=n/m+1; } else{ number=n/m; } int[]s=new int[number]; if(n%m==0){ for(int i=0;i<number;i++){ for(int j=0;j<m;j++){ sum+=x; x=x+2; } s[i]=sum/m; sum=0; } } else{ for(int i=0;i<number;i++){ if(i==number-1){ for(int j=0;j<(n%m);j++){ sum+=x; x=x+2; } s[i]=sum/(n%m); } else{ for(int j=0;j<m;j++){ sum+=x; x=x+2; } s[i]=sum/m; } sum=0; } } for(int i=0;i<number;i++){ if(i==number-1) System.out.println(s[i]); else System.out.print(s[i]+" "); } } }}
[P2016问题概述]:数据的交换输出
/** * 数据的交换输出Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 103988 Accepted Submission(s): 38870Problem Description输入n(n<100)个数,找出其中最小的数,将它与最前面的数交换后输出这些数。Input输入数据有多组,每组占一行,每行的开始是一个整数n,表示这个测试实例的数值的个数,跟着就是n个整数。n=0表示输入的结束,不做处理。Output对于每组输入数据,输出交换后的数列,每组输出占一行。Sample Input4 2 1 3 45 5 4 3 2 10Sample Output1 2 3 41 4 3 2 5AuthorlcySourceC语言程序设计练习(三) */
代码演示:
package ac;//ACimport java.util.Scanner;public class P2016 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); while(sc.hasNext()){ //输入n int n=sc.nextInt(); if(n==0 ){ break; } //创建接收数据的a数组 int[]a=new int[n]; for(int i=0;i<a.length;i++){ a[i]=sc.nextInt(); } //找到最小值所在的位置 int min=a[0]; int k=0; for(int i=0;i<a.length;i++){ if(a[i]<min){ min=a[i]; k=i; } } //交换位置 int temp=a[0]; a[0]=a[k]; a[k]=temp; //遍历出数组 for(int i=0;i<a.length;i++){ if(i==0){ System.out.print(a[i]); }else{ System.out.print(" "+a[i]); } } System.out.println(); } }}
[P2017问题概述]:字符串统计
/** * 字符串统计Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 81324 Accepted Submission(s): 44659Problem Description对于给定的一个字符串,统计其中数字字符出现的次数。Input输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串。Output对于每个测试实例,输出该串中数值的个数,每个输出占一行。Sample Input2asdfasdf123123asdfasdfasdf111111111asdfasdfasdfSample Output69 */
代码演示:
package ac;import java.util.Scanner;public class P2017 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); while(n-->0){ String str=sc.next(); char[] chs=str.toCharArray(); int count=0; for(int i=0;i<chs.length;i++){ if(chs[i]>='0'&&chs[i]<='9'){ count++; } } System.out.println(count); } }}
[P2018问题概述]:母牛的故事
/*** * 母牛的故事Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 82698 Accepted Submission(s): 41082Problem Description有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?Input输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。n=0表示输入数据的结束,不做处理。Output对于每个测试实例,输出在第n年的时候母牛的数量。每个输出占一行。Sample Input2450Sample Output246 */
代码演示:
import java.util.Scanner;public class P2018 { public static void main(String[] args) { //打表---用打表的方式将所有年份的数目都求解出来。 int a[] = new int[55]; a[1]=1; a[2]=2; a[3]=3; a[4]=4; for(int i=5;i<55;i++){ a[i]=a[i-1]+a[i-3]; } //输入年份,找到其对应的数目 Scanner sc = new Scanner(System.in); while(sc.hasNext()){ int n = sc.nextInt(); if(n==0){ break; } System.out.println(a[n]); } }}
[P2019问题概述]: 数列有序
/** * 数列有序!Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 88953 Accepted Submission(s): 37361Problem Description有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请将该数插入到序列中,并使新的序列仍然有序。Input输入数据包含多个测试实例,每组数据由两行组成,第一行是n和m,第二行是已经有序的n个数的数列。n和m同时为0标示输入数据的结束,本行不做处理。Output对于每个测试实例,输出插入新的元素后的数列。Sample Input3 31 2 40 0Sample Output1 2 3 4Authorlcy */
代码演示(1):
package ac;import java.util.Arrays;import java.util.Scanner;public class P2019{ public static void main(String[] args) { Scanner sc=new Scanner(System.in); while(sc.hasNext()){ int n=sc.nextInt(); int m=sc.nextInt(); if(n==0 && m==0){ break; } int[] a=new int[n+1]; for(int i=0;i<a.length-1;i++){ a[i]=sc.nextInt(); } a[a.length-1]=m; Arrays.sort(a); println(a); } } //打印数组 private static void println(int[] a) { for(int i=0;i<a.length;i++){ if(i==0){ System.out.print(a[i]); }else{ System.out.print(" "+a[i]); } } System.out.println(); }}
代码演示(2):复杂方式
package ac;import java.util.Scanner;public class P2019 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); while(sc.hasNext()){ int n=sc.nextInt(); int m=sc.nextInt(); if(n==0 && m==0){ break; } int[] a=new int[n]; for(int i=0;i<n;i++){ a[i]=sc.nextInt(); } dichotomySort(a, m); System.out.println(); } } //打印数组 public static void print(int[] arr){ for(int i=0;i<arr.length;i++){ if(i==0){ System.out.print(arr[i]); }else{ System.out.print(" "+arr[i]); } } } //二分法插入排序 public static void dichotomySort(int[] arr,int m){ int[] temp=new int[arr.length+1]; int high=arr.length-1; int low=0; while(low<=high){ int mid=(high+low)/2; if(m>arr[mid]){ low=mid+1; }else{ high=mid-1; } } //System.out.println("high="+high+"low="+low); for(int i=0;i<temp.length;i++){ if(i<low){ temp[i]=arr[i]; }else if(i==low){ temp[i]=m; }else{ temp[i]=arr[i-1]; } } print(temp); }}
0 0
- 【ACM】P2015(*)、P2016、P2017、P2018(*)、P2019代码演示
- 杭电acm P2019数列有序
- ACM——p2017 字符串统计
- 杭电acm P2017字符串的统计
- ACM——p2015偶数求和
- 【ACM】P1000、P10001、P1002、P1003代码演示
- 【ACM】P2011、P2012、P2013(*)、P2014代码演示
- 【ACM】P2000、P2001、P2002、P2003、P2004、P2005代码演示
- 【ACM】P2006、P2007、P2008、P2009、P2010代码演示
- 【ACM】P2020、P2021、P2022、P2023、P2024代码演示
- 【ACM】P2025、P2026、P2027、P2028、P2029代码演示
- 【ACM】P2030、P2031、P2032、P2033、P2034代码演示
- 代码演示
- ACM——p2016数据的交换输出(选择排序,选择最小数与第一个交换)
- 洛谷 P2018 消息传递
- 洛谷 P2016 战略游戏
- 洛谷 P2016 战略游戏
- 洛谷p2016战略游戏
- java向mysql数据库中传数据
- 第七届蓝桥杯决赛JavaA组第四题_机器人塔
- click点击一次,执行多次的bug
- mongodb初体验
- UVALive
- 【ACM】P2015(*)、P2016、P2017、P2018(*)、P2019代码演示
- 深入理解javascript原型和闭包(15)——闭包
- 前端-仿写虎嗅页面
- 训练好caffemodel后,提取人脸图片的特征向量
- Java.lang.ClassCastException: com.sun.proxy.$Proxy8 cannot be cast to com.bjsxt.service.UserServiceI
- 安卓 AnimationDrawble介绍
- [leetcode: Python]387.First Unique Character in a String
- Activity中bindService和registerReceiver的清理工作
- 水——洛谷P1182 数列分段Section II