3 Star 61 Fork 5

programmercarl / kamacoder-solutions

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
0008.摆平积木.md 4.00 KB
一键复制 编辑 原始数据 按行查看 历史

8. 摆平积木

题目链接

C++

#include<iostream>
#include<vector>
using namespace std;

int main() {
    int n;
    while (cin >> n) {
        if (n == 0) break;
        vector<int> nums = vector<int>(n, 0);
        int sum = 0;
        for (int i = 0; i < n; i++) {
            cin >> nums[i];
            sum += nums[i];
        }
        int average = sum / n;
        int result = 0;
        for (int i = 0; i < n; i++) {
            if ((nums[i] - average) > 0) result += (nums[i] - average);
        }
        cout << result << endl;
        cout<< endl;
    }
}

Java

import java.util.ArrayList;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            Integer size = scanner.nextInt();
            if (size == 0) {
                break;
            }
            ArrayList<Integer> list = new ArrayList<>();
            Integer sum = 0;
            for (int i = 0; i < size; i++) {
                int num = scanner.nextInt();
                sum += num;
                list.add(num);
            }
            Integer average = sum / size;
            Integer res = 0;
            //由于题目中说明了保证积木总数能被积木堆数整除,那么肯定能够把多出来的转到少的积木堆上面的
            for (int i = 0; i < list.size(); i++) {
                if (list.get(i) > average) {
                    res += list.get(i) - average;
                }
            }
            System.out.println(res);
            System.out.println();
        }
    }
}

python

while 1:
    try:
        n = int(input())
        if n == 0:
            break
        ls = list(map(int, input().split()))
        ls.sort()
        m = sum(ls) // n
        moves = 0
        for i in ls:
            moves += abs(i - m)
        print(moves//2)
        print()
    except:
        break

Go

package main

import (
    "fmt"
)

func main() {
    var n int
    for {
        _, err := fmt.Scanf("%d", &n)
        if err != nil || n == 0 {
            break
        }
        nums := make([]int, n)
        sum := 0
        for i := 0; i < n; i++ {
            fmt.Scanf("%d", &nums[i])
            sum += nums[i]
        }
        average := sum / n
        result := 0
        for i := 0; i < n; i++ {
            if (nums[i] - average) > 0 {
                result += (nums[i] - average)
            }
        }
        fmt.Println(result)
        fmt.Println()
    }
}

Js

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void (async function () {
    // Write your code here

    while ((line = await readline())) {
        // 读取输入数组长度
        let size = parseInt(line)
        
        if(size == 0) break
        let input = await readline()
        let arr = input.split(" ").map(Number);
        let res = 0;
        let sum = 0;
        for(let i = 0; i < size; i++) {
            sum += arr[i];
        }
        let aver = sum / size;
        for (let i = 0; i < size; i++) {
            if (arr[i] - aver > 0) { 
                res += arr[i] - aver 
                
            }
                
        }
            console.log(res);
            console.log()
    }
})();

C

#include <stdio.h>
#include <stdlib.h>

int main() {
    int n;
    while (scanf("%d", &n) == 1) {
        if (n == 0) break;
        int *nums = (int *)malloc(n * sizeof(int));
        int sum = 0;
        for (int i = 0; i < n; i++) {
            scanf("%d", &nums[i]);
            sum += nums[i];
        }
        int average = sum / n;
        int result = 0;
        for (int i = 0; i < n; i++) {
            if ((nums[i] - average) > 0) result += (nums[i] - average);
        }
        printf("%d\n\n", result);
        free(nums);
    }
    return 0;
}
1
https://gitee.com/programmercarl/kamacoder-solutions.git
git@gitee.com:programmercarl/kamacoder-solutions.git
programmercarl
kamacoder-solutions
kamacoder-solutions
main

搜索帮助