幂运算

Posted 【對策局】

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了幂运算相关的知识,希望对你有一定的参考价值。

【题目描述】

从m开始,我们只需要6次运算就可以计算出m31:

m^2=m*m,m^4=m^2*m^2,m^8=m^4*m^4,m^16=m^8*m^8,m^32=m^16*m^16,m^31=m^32÷m。

请你找出从m开始,计算m^n的最少运算次数。在运算的每一步,都应该是m的正整数次方,换句话说,类似m^-3是不允许出现的。

【输入描述】

输入为一个正整数n。

【输出描述】

输出为一个整数,为从m开始,计算mn的最少运算次数。

【样例输入】

样例1:
1

样例2:
31

样例3:
70

【样例输出】

样例1:
0

样例2:
6

样例3:
8

【数据范围及提示】

1 <= n <= 1000。

以上是关于幂运算的主要内容,如果未能解决你的问题,请参考以下文章

2541 幂运算

2541 幂运算

复数的幂运算-工程数学笔记

数论——快速幂,模运算及快速幂求逆元

Android中的数学幂运算

快速幂运算+快速幂求乘法逆元