第十三届蓝桥杯大赛软件赛省赛【Java 大学B 组】试题D: 最少刷题数
2022/4/9 22:19:47
本文主要是介绍第十三届蓝桥杯大赛软件赛省赛【Java 大学B 组】试题D: 最少刷题数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1 import java.util.ArrayList; 2 import java.util.Scanner; 3 4 public class Main { 5 public static void main(String args[]) { 6 // System.out.println("请输入一个正整数N"); 7 Scanner sc = new Scanner(System.in); //初始化Scanner对象 8 int numN=sc.nextInt(); //输入 9 ArrayList myNum= new ArrayList(); 10 ArrayList res= new ArrayList(); 11 // System.out.printf("依次输入%d个整数\n",numN); 12 for (int i = 0;i<numN ;i++ ) { 13 int tempNum=sc.nextInt(); 14 myNum.add(tempNum); 15 res.add(tempNum); //保存排序之前的数据 16 } 17 // System.out.println("排序之前的数据:"+myNum.toString()+res.toString()); 18 if(numN%2==0) { 19 // System.out.println("偶数"); 20 //从小到大排序: 21 int tempNum=0; 22 for(int i=0;i<numN;i++) { 23 for (int j=i+1;j<numN;j++) { 24 int i_num=(int) myNum.get(i); 25 int j_num=(int) myNum.get(j); 26 if(i_num>j_num) { 27 tempNum=i_num; 28 myNum.set(i, j_num); 29 myNum.set(j, tempNum); 30 } 31 } 32 } 33 // System.out.println("排序之后的数据:"+myNum.toString()+res.toString()); 34 // System.out.println(myNum.toString()); 35 //开始计算 结果保存在res数组中 下面是偶数情况: 36 for (int i=0;i<numN ; i++) 37 { 38 int zwNum=(int) myNum.get(numN/2); 39 int resTempNum=(int) res.get(i); //保存当前数据 40 if((resTempNum==zwNum) || (resTempNum>zwNum)) { 41 res.set(i, 0); 42 }else { 43 res.set(i, zwNum-resTempNum+1); 44 } 45 } 46 }else { 47 //---------------------------------------------------------------------- 48 // System.out.println("奇数"); 49 //从小到大排序: 50 int tempNum=0; 51 for(int i=0;i<numN;i++) { 52 for (int j=i+1;j<numN;j++) { 53 int i_num=(int) myNum.get(i); 54 int j_num=(int) myNum.get(j); 55 if(i_num>j_num) { 56 tempNum=i_num; 57 myNum.set(i, j_num); 58 myNum.set(j, tempNum); 59 } 60 } 61 } 62 // System.out.println("排序之后的数据:"+myNum.toString()+res.toString()); 63 //开始计算 结果保存在res数组中 下面是奇数情况: 64 for (int i=0;i<numN ; i++) 65 { 66 int zwNum=(int) myNum.get(numN/2); 67 int resTempNum=(int) res.get(i); //保存当前数据 68 if((resTempNum==zwNum) || (resTempNum>zwNum)) { 69 res.set(i, 0); 70 }else { 71 res.set(i, zwNum-resTempNum+1); 72 } 73 } 74 } 75 //输出结果 76 System.out.println(res.toString()); 77 } 78 }
这篇关于第十三届蓝桥杯大赛软件赛省赛【Java 大学B 组】试题D: 最少刷题数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26消息中间件源码剖析教程
- 2024-11-26JAVA语音识别项目资料的收集与应用
- 2024-11-26Java语音识别项目资料:入门级教程与实战指南
- 2024-11-26SpringAI:Java 开发的智能新利器
- 2024-11-26Java云原生资料:新手入门教程与实战指南
- 2024-11-26JAVA云原生资料入门教程
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程