第十三届蓝桥杯大赛软件赛省赛【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 }
好看请赞,养成习惯:) 本文来自博客园,作者:靠谱杨, 转载请注明原文链接:https://www.cnblogs.com/rainbow-1/p/16123207.html
欢迎来我的51CTO博客主页踩一踩 我的51CTO博客
文章中的公众号名称可能有误,请统一搜索:靠谱杨的秘密基地