#P3134. Power Calculus
Power Calculus
本题没有可用的提交语言。
题目描述
从 ( x ) 出发,通过反复相乘可以计算出 ( x^{31} ),
但需要 30 次乘法。若允许使用平方操作,可显著缩短计算步骤。例如,使用 8 次乘法即可完成。若进一步允许除法,计算步骤还能更少——如通过 5 次乘法和 1 次除法(共 6 次操作)算出 ( x^{31} )。
你的任务是:对于给定的正整数 ( n ),计算从 ( x ) 出发,仅通过乘法和除法得到 ( x^n ) 所需的最少操作次数。
计算过程中出现的所有指数必须为正整数(即不能出现 ( x^{-3} ) 这样的指数)。
输入格式
- 输入包含多行,每行一个正整数 ( n )(( 1 \leq n \leq 1000 )),以 0 结束输入。
输出格式
- 对每个输入的 ( n ),输出一行整数,表示计算 ( x^n ) 所需的最少操作次数(乘法和除法的总次数)。
输入输出样例
输入数据 | 输出数据 |
---|---|
1 | 0 |
31 | 6 |
70 | 8 |
91 | 9 |
473 | 11 |
512 | 9 |
811 | 13 |
953 | 12 |
题目来源
Japan 2006