[iT铁人赛Day24]练习题(3)

今天来讲到第三题练习题
题目的大意就是:
有一个小弟弟正在玩积木,然後说他盖了一个城墙。
但他姐姐说,那才不是城墙,城墙应该要一样高才对。
所以我们必须把积木排成同样高度的城墙
然後题目给的输入是
6
5 2 4 1 7 5
0
程序码如下

import java.util.*;
import static java.lang.System.*;
public class main{
  public static void main(String[] args) {
    Scanner sc=new Scanner(System.in);
    int time = 0;
    while(sc.hasNext())
    {
    	time++;
    	int a = sc.nextInt();
    	if(a == 0)
    	{
    		continue;
    	}
		int arr[] = new int[a];
    	for(int i = 0 ; i < a ; i++)
    	{
    		arr[i] = sc.nextInt();
    	}
    	int total = 0;
    	for(int i : arr)
    	{
    		total += i;
    	}
    	total /= a;
    	int sum = 0;
    	for(int i : arr)
    	{
    		if(total - i >= 0)
    			sum += (total - i);
    	}
    	System.out.printf("Set #%d\r\n",time);
    	System.out.println("The minimum number of moves is "+sum+".");
    	System.out.printf("\r\n");
    }
  }
};

为了怕新的东西有点生疏,这次再复习一次
Scanner:取得使用者输入的数字或字串。System.in就是系统的输入。
hasNext:常用判断是否还有输入的数字或字串。
nextInt:只读取数字,剩下"\n"还没有读取。
total /= a 就是 total = total/a。
int a = sc.nextInt();
设定一个整数a,a等於取到的数值

 	int arr[] = new int[a];
   	for(int i = 0 ; i < a ; i++)
    	{
   		arr[i] = sc.nextInt();
    	}

设定一个阵列,阵列里有a个格子,
然後设定一个整数i,此整数小於a,arr[i]指的是个格子的编号
arr[i] = sc.nextInt()是设定编号i的值

    	int total = 0;
    	for(int i : arr)
    	{
    		total += i;
    	}
    	total /= a;

设定一个整数total,total等於阵列里整数i的总和
然後再把total除以a取得平均值

        int sum = 0;
    	for(int i : arr)
    	{
    		if(total - i >= 0)
    			sum += (total - i);
    	}

设定一个整数sum,sum等於sum + (total - i),算出需要移动几次。
最後会输出最少需要的移动次数
结果如下:
https://ithelp.ithome.com.tw/upload/images/20210924/20140567ihqQh1KCkV.png


<<:  弹性时间就是最好的知识管理

>>:  Day 12 Swift语法-进阶篇(5/5)-Extension

iOS APP 开发 OC 第七天, 对象在内存中的储存

tags: OC 30 day 1. 内存中的五大区域: 栈 储存局部变量。 堆 工程师手动申请的字...

TypeScript 能手养成之旅 Day 9 物件型别-扩充型别-列举(Enum)

前言 Enum 是 TypeScript 新增的语法,也被称做 列举 或 枚举。 在实务上,我们常用...

ScrollView的Contentoffset解析 Day25

实作UIScrollView很常会使用到 实作很常用到: Contentoffset: Conten...

[Day14] Android - Kotlin笔记:LiveData在fragment重建时会重新呼叫两次的解决方法

原因: 在Activity中绑定一个ViewModel, Fragments间共用这个ViewMod...

[影片]第28天:英雄指南-5. 新增应用内导航(3)

GitHub:https://github.com/dannypc1628/Angular-Tou...