编程题:分苹果_同学分苹果的小学题

编程题:分苹果_同学分苹果的小学题题目描述n只奶牛坐在一排,每个奶牛拥有ai 个苹果,现在你要在它们之间转移苹果,使得最后所有奶牛拥有的苹果数都相同,每一次,你只能从一只奶牛身上拿走恰好两个苹果到另一个奶牛上,问最少需要移动多少次可以平分苹果,如果方案不存在输出-1。输入描述:每个输入包含一个测试用例。每个测试用例的第一行包含一个整数n(1<=n<=100),接下来的一行包含n个整数ai(1&l…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

题目描述

n 只奶牛坐在一排,每个奶牛拥有 a
i  个苹果,现在你要在它们之间转移苹果,使得最后所有奶牛拥有的苹果数都相同,每一次,你只能从一只奶牛身上拿走恰好两个苹果到另一个奶牛上,问最少需要移动多少次可以平分苹果,如果方案不存在输出 -1。

输入描述:

每个输入包含一个测试用例。每个测试用例的第一行包含一个整数 n(1 <= n <= 100),接下来的一行包含 n 个整数 ai(1 <= ai <= 100)。

输出描述:

输出一行表示最少需要移动多少次可以平分苹果,如果方案不存在则输出 -1。
示例1

输入

复制

4
7 15 9 5

输出

复制

3

思路:

数学问题,依次判断即可。首先输入的是n个奶牛,然后输入一行每个奶牛的苹果数。
计算所有奶牛拥有的苹果总数,平均数。总数不能整除奶牛数则返回-1
依次判断每个奶牛拥有的苹果是否大于平均数,大于的判断超出的值是否能整除2,不能则返回-1
能则将超出的数加起来,除以2即为需要转移的次数

代码:

package net.stxy.one.controller;

/**
 * Created by ASUS on 2018/5/31
 *
 * @Authod Grey Wolf
 */


import java.util.Scanner;

public class Test2 {


    public static void main(String[] args) {
        Test2 test2 = new Test2();
        test2.sys1();

    }

    private void sys1() {
        Scanner scanner = new Scanner(System.in);
        int i, n = 0;
        //计算总数
        int sum = 0;
        //平均数
        int averg = 0;
        int[] arr;
        n = scanner.nextInt();
        arr = new int[n];

        for (i = 0; i < n; i++) {
            arr[i] = scanner.nextInt();
            sum += arr[i];
        }
        averg = sum / n;
        //超过的值
        int over = 0;
        //统计超出的总数
        int overSum = 0;
        for (i = 0; i < n; i++) {
            if (arr[i] > averg) {
                over = arr[i] - averg;
                //如果超过的值不能对2整除,无解,因为要每次移动2个苹果
                if (over % 2 != 0) {
                    System.out.println("-1");
                    return;
                } else {
                    //统计一共超过平均值的数量
                    overSum += over;
                }
            }
        }
        if (sum % n != 0) {
            System.out.println("-1");
        } else {
            //移动的次数就是超过平均值的总数整除每次移动的个数
            System.out.println(overSum / 2);
        }
    }

    

}

效果:

4
7 15 9 5
3

我的座右铭:不会,我可以学;落后,我可以追赶;跌倒,我可以站起来;我一定行。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182886.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月12日 上午9:46
下一篇 2022年10月12日 上午9:46


相关推荐

  • 如何评价月之暗面刚刚发布的OK Computer?

    如何评价月之暗面刚刚发布的OK Computer?

    2026年3月12日
    2
  • VBoxManage常用命令用法

    VBoxManage常用命令用法VBoxManage命令常用用法系统环境:CentOS6.3x86_64VirtualBox版本:4.2.8VirtualBox扩展版本:4.2.8增加一个新的扩展包VBoxManageextpackinstall<.vbox-extpack>卸载指定扩展包VBoxManageextpackuninstall<name>显示已安装的扩展包VBoxManagelistextpacks移除安装扩展包失败或卸载扩展包失败时可能遗留下来的文件和

    2022年6月9日
    37
  • gg 修改器游戏被保护_GG修改器sky光遇脚本下载app_GG修改器光遇脚本2020最新版下载 安卓版 V411.41.41…

    gg 修改器游戏被保护_GG修改器sky光遇脚本下载app_GG修改器光遇脚本2020最新版下载 安卓版 V411.41.41…GG修改器sky光遇脚本是一款知名的手机游戏修改软件,这款手机软件十分强劲,拥有它你能随时一键游戏修改值,加快手机游戏这些作用,使你在这儿感受到一站式的游戏辅助软件感受。这个脚本app不需要root权限就可以快速运行,有需要的朋友们赶紧来下载GG修改器sky光遇脚本2020最新版app吧。GG修改器sky光遇脚本app特色1.本专用工具永久免费、没有广告、绝对安全可靠;2.根据改动已经运作的游戏里…

    2022年7月16日
    22
  • Python报错:OSError: cannot open resource

    Python报错:OSError: cannot open resourcePython报错:OSError:cannotopenresource今天借助Python第三方库写了一个简单的生成词云的编程,但在使用wordcloud生成词云过程中,出现了OSError:cannotopenresource错误,通过断点调试并查看了一些网上的解决方法找到了原因:字体属性font_path的设置与系统提供的字体不一致。在本地电脑没有所写的字体,或是字体名称后缀…

    2025年9月3日
    9
  • WebForm Combox下拉框联动

    WebForm Combox下拉框联动要想实现如下效果 点击堆号 下边的物料框自动对应显示 实现简单的联动 一对一 一对多的效果 首先两个下拉框分别对应两个表数据 两表通过堆号字段关联为堆号下拉框进行 url 赋值 添加 onChange 方法 用来解决切换时动态改变物料下拉框 添加 onLoadSucces 方法 当堆号下拉框加载数据 并赋值成功后 默认选择对应多条物料的第一条 在编辑和新增时 极易出现问题 vardata mater combobox getData mater combobox setValue

    2026年3月18日
    2
  • 车道线识别之 tusimple 数据集介绍

    车道线识别之 tusimple 数据集介绍Tusimple是一家做自动驾驶的公司,他也公布了一些其在自动驾驶领域积累的数据,其中有一些是和车道线检测相关的。2018年6月份,其举办了一次以摄像头图像数据做车道检测的比赛,公开了一部分数据及

    2022年8月5日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号