华为OD 分糖果

题目描述

小明从糖果盒中随意抓一把糖果,每次小明会取出一半的糖果分给同学们。

当糖果不能平均分配时,小明可以选择从糖果盒中(假设盒中糖果足够)取出一个糖果或放回一个糖果。

小明最少需要多少次(取出、放回和平均分配均记一次),能将手中糖果分至只剩一颗。

输入描述

抓取的糖果数(<10000000000):15

输出描述

最少分至一颗糖果的次数:5

用例1

输出

5

说明

15+1=16;

16/2=8;

8/2=4;

4/2=2;

2/2=1;

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int num = in.nextInt();
        System.out.println(splitCandy(num, 0));
    }

    public static int splitCandy(int num, int count) {
        if (num == 1)return count;
        if (num % 2 == 0) {
            return splitCandy(num / 2, ++count);
        } else {
            return Math.min(splitCandy((num + 1) / 2, count + 2), splitCandy((num - 1) / 2,
                            count + 2));
        }
    }
}

 

华为od糖果java是指华为公司开发的一种糖果的游戏,采用Java编程语言进行开发。 这款游戏的目标是通过在手机屏幕上连接相同颜色的糖果,获得更高的数。玩家需要滑动屏幕上的糖果,使得至少三个以上的相同颜色的糖果连成一条直线,一旦连接成功,这些糖果将消失并得到对应的数。游戏设有不同关卡和挑战,随着等级的提升,游戏的难度也会逐渐增加。 华为od糖果java的开发离不开Java编程语言的强大支持。Java作为一种面向对象的编程语言,具有跨平台的特性,能够在不同的操作系统上运行。同时,Java还具备丰富的类库和API,为游戏开发提供了各种各样的功能和工具,例如图形界面、动画效果、音频等。这些功能的应用使得华为od糖果java的游戏画面更加精美,给玩家带来更好的游戏体验。 华为od糖果java的开发对于华为公司来说具有重要的意义。作为一家全球领先的通信设备和解决方案供应商,华为不仅致力于技术创新,还注重提供高质量的产品和服务。华为od糖果java的开发体现了华为公司对于娱乐游戏行业的关注,通过推出这样一款精心设计的游戏,华为进一步扩展了自己的产品线,为用户提供多样化的娱乐选择。 总之,华为od糖果java是一款使用Java编程语言开发的糖果消除类游戏,具备精美的画面和丰富的游戏功能。通过这款游戏的推出,华为公司在娱乐游戏领域取得了重要的突破,并为用户提供了更多的娱乐选择。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值