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

编程题:分苹果_同学分苹果的小学题题目描述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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 俞敏洪 绝望中寻找希望_新东方俞敏洪哭了

    俞敏洪 绝望中寻找希望_新东方俞敏洪哭了                                新东方俞敏洪:从绝望中寻找希望                         http://www.sina.com.cn  2008年08月23日 10:25  华夏时报 .moduleSingleImg01img{border:1pxsolid#D1E3F4} –>

    2022年9月12日
    0
  • python打开网页链接_怎么用python打开浏览器

    python打开网页链接_怎么用python打开浏览器以下为一个最简单的HTTP服务器,在浏览器中输入地址后,就能够访问到通目录下的HTML文件,import socket”””TCP 的服务端1,socket 创建socket2.bind 绑定IP和端口3.listen 处于监听状态4.accept 接进来客户端的连接5.recv/send 接受或者发送信息6.close 关闭”””def tcp_creat_socket(): tcp_ser = socket.socket(family=socket.AF_INET, t

    2022年8月8日
    1
  • ORA-00937: 不是单组分组函数

    ORA-00937: 不是单组分组函数修改sql语句的时候遇到了这个错误ORA-00937:不是单组分组函数eg:查询人员表中的name、age以及最大age;selectname,age,max(age)fromPerson;此时将会报错ORA-00937:不是单组分组函数—解释意思为:select语句中又在查询某一列的值,其中还有聚合函数。oracle数据库都要疯了。。将上述修改为:se…

    2022年6月15日
    51
  • mysql fsync_mysql fsync

    mysql fsync_mysql fsync标签:1介绍数据库系统从诞生那天开始,就面对一个很棘手的问题,fsync的性能问题。组提交(groupcommit)就是为了解决fsync的问题。最近,遇到一个业务反映MySQL创建分区表很慢,仔细分析了一下,发现InnoDB在创建表的时候有很多fsync——每个文件会有4个fsync的调用。当然,并不每个fsync的开销都很大。这里引出几个问题:(1)问题1:为什么fsync开销相对都比较大…

    2022年5月6日
    48
  • linux 安装 node_手机安装node环境

    linux 安装 node_手机安装node环境Linux安装node环境1.去node官网下载node安装包2.解压并重命名tar-xvfnode-v14.15.5-linux-x64.tar.xz#解压mvnode-v16.14.2-linux-x64node#重命名为node3.全局引用,创建npm和node软连接ln-s/usr/local/dev/nodejs/node/bin/npm/usr/local/bin#创建npm软连接,其中/usr/local/dev/nodejs/node/bin/

    2022年9月13日
    0
  • python代码情话_python怎么运行代码

    python代码情话_python怎么运行代码做微信聊天机器人,实现步骤:1.获取微信的使用权,即python脚本能控制微信收发信息。2.python脚本收到聊天信息后,要对该信息进行处理,返回机器人的回应信息。我这里有一套Python从入门到精通的全套资料免费送给大家,但是要加我的Python学习Q群:808713721才可以免费领取,因为我在里面会私发给大家。简易版代码fromwxpyimport*#apikey在http://www.t…

    2022年9月2日
    4

发表回复

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

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