#P10494. 渴望力量的奶牛(Power Hungry Cows)
0
渴望力量的奶牛(Power Hungry Cows)
渴望力量的奶牛(Power Hungry Cows)
题目描述
FJ 的奶牛希望能够非常快速地计算整数的 次幂(),但需要你的帮助。由于它们要计算非常大的数的幂,在计算过程中只能保留两个工作变量来存储中间结果。
第一个工作变量初始化为底数 (即待求幂的数),另一个工作变量初始化为 。在每一步操作中,奶牛可以将任意一对工作变量(也可以是同一个工作变量自身)相乘或相除,并将运算结果存入任意一个工作变量中,但所有中间结果必须始终为 的非负整数次幂(整除无余项)。
例如,如果它们想计算 ,一种可行的方法如下图所示:

因此, 可以通过 次运算求得。给定目标指数 ,请求出计算出 所需的最少运算次数。
输入格式
输入仅一行一个正整数 。
输出格式
输出一行一个整数,表示计算出 所需的最少运算次数。
样例输入 #1
31
样例输出 #1
6
数据范围
对于 的数据,。
知识点与难度
本题涉及的知识点从属于 CSP-S,难度(CF Rating):2000。
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1 | 样例 |
| 1 | 20 | 2~8 | 小规模 P≤64 / 特殊: P=2^k纯倍增 / 特殊: P=2^k-1倍增减1 |
| 2 | 15 | 9~11 | Hack: P=1初始即达0步 / Hack: 需寄存器相减折返之指数 / Hack: P=20000上界极值 |
| 3 | 30 | 12~20 | 中规模 P≤2000 / 大规模 P≈20000 奇素数 IDA* 压力 |
| 4 | 25 | 21~25 | 随机 1≤P≤20000 回归 |
出处:原题链接