题目描述
小明从糖果盒中随意抓一把糖果,每次小明会取出一半的糖果分给同学们。
当糖果不能平均分配时,小明可以选择从糖果盒中(假设盒中糖果足够)取出一个糖果或放回一个糖果。
小明最少需要多少次(取出、放回和平均分配均记一次),能将手中糖果分至只剩一颗。
输入描述
抓取的糖果数(<10000000000):15
输出描述
最少分至一颗糖果的次数:5
用例
| 输入 | 15 |
| 输出 | 5 |
| 说明 |
|
本文介绍了华为在线开发者(OD)测试中的一道算法题——分糖果。题目要求小明如何通过平均分配和调整糖果数量,最少次数达到只剩一颗糖果。通过分析,发现可以采用暴力逻辑解决,每次判断是否能平均分配,若不能则考虑加一或减一,再进行分配。最后提供了一种基于递归的C语言实现方法。
小明从糖果盒中随意抓一把糖果,每次小明会取出一半的糖果分给同学们。
当糖果不能平均分配时,小明可以选择从糖果盒中(假设盒中糖果足够)取出一个糖果或放回一个糖果。
小明最少需要多少次(取出、放回和平均分配均记一次),能将手中糖果分至只剩一颗。
抓取的糖果数(<10000000000):15
最少分至一颗糖果的次数:5
| 输入 | 15 |
| 输出 | 5 |
| 说明 |
|
415

被折叠的 条评论
为什么被折叠?