题目22:分糖果
小明从糖果盒中随意抓一把糖果
每次小明会取出一半的糖果分给同学们
当糖果不能平均分配时
小明可以从糖果盒中(假设盒中糖果足够)取出一个或放回一个糖果
小明至少需要多少次(取出放回和平均分配均记一次)能将手中糖果分至只剩一颗
输入描述:
抓取糖果数(小于1000000):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;
private static void tg() {
Scanner scanner = new Scanner(System.in);
int maxCount = scanner.nextInt();
int count = 0;
if (maxCount % 2 != 0) {
maxCount++;
count++;
}
while (maxCount != 1) {
maxCount = maxCount / 2;
count++;
}
System.out.println(count);
}
小明面临一个分糖果的挑战,需要通过不断取出或放回糖果,使得糖果数最终剩下一颗。给定初始糖果数,例如15颗,经过一系列操作后,小明至少需要5次才能达到目标。这个过程涉及数学和算法策略,对于理解递归或除法有很好的启示。
2439

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



