华为OD机试 - 分糖果(Java) | 机试题+算法思路+考点+代码解析 2023

Posted 坚果的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了华为OD机试 - 分糖果(Java) | 机试题+算法思路+考点+代码解析 2023相关的知识,希望对你有一定的参考价值。

分糖果

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

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

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

输入输出描述:

输入描述:

抓取的糖果数(<10000000000):

15

输出描述:

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

5

示例1:

输入

15

输出

5

备注:

解释:(1)15+1=16;(2)16/2=8;(3)8/2=4;(4)4/2=2;(5)2/2=1;

解题思路

主要考察递归思想,我们通过题目逻辑找到递归终止条件就行

代码实现

package com.hw.od;

import

以上是关于华为OD机试 - 分糖果(Java) | 机试题+算法思路+考点+代码解析 2023的主要内容,如果未能解决你的问题,请参考以下文章

华为OD机试题,用 Java 解计算面积问题

华为OD机试题,用 Java 解合规数组问题

华为OD机试题,用 Java 解密室逃生游戏问题

华为OD机试题,用 Java 解磁盘容量排序问题

华为OD机试题,用 Java 解TLV 解码问题

华为OD机试题,用 Java 解高矮个子排队问题