华为OD机试 双机位A卷 - 分弹珠游戏 (Python & JAVA & C++ & JS & GO)

26 阅读1分钟

分弹珠游戏

2025华为OD机试双机位A卷 - 华为OD上机考试双机位A卷 100分题型

华为OD机试双机位A卷真题目录点击查看: 华为OD机试真题题库目录|机考题库 + 算法考点详解

题目描述

Aliice最近迷上分弹珠游戏,每次从箱子里拿出随机数量的弹珠,第一次将弹珠分为尽可能相等的两份,(偶数平分,奇数则其中一份比另外一份多一颗),第二次将这两份弹珠各自再尽可能分为相等的两份,直到每份弹珠不超过2颗。如果第一次取出弹珠就已经少于三颗,则不用分,你能在Alice取出弹珠后就知道它要分多少次,最终会分成多少份吗?

输入描述

一个整数N,表示Alice拿到的弹珠数。范围:0<N<131072

输出描述

输出分拆需要的次数,分拆完成后的分数,使用空格分割。

用例1

输入

1

输出

0 1

用例2

输入

11

输出

6 7

解释

11 第一次拆分为5和6,第二次5拆分为2和3,第三次6拆分为两个3,每个3再拆分1次,共拆分6次,分为7份。

题解

分弹珠游戏, C++、Java、Python、JavaScript、Go实现源码和详细实现思路解析,点击跳转查看