*公式:当a^b,b用数组表示时,result=(result^10)*a^b[i],怎么理解和推导
时间: 2024-02-16 21:02:16 浏览: 24
这个公式是用于计算幂次的,其中a是底数,b是指数数组,result是结果。具体的理解和推导如下:
首先,我们可以将a^b表示为a的b[0]次方乘以a的b[1]次方乘以a的b[2]次方乘以……乘以a的b[n-1]次方,即:
a^b = a^(b[0]) * a^(b[1]) * a^(b[2]) * …… * a^(b[n-1])
接着,我们可以将上式中的每一项都表示为:
a^(b[i]) = (a^(b[i]) mod 10) * (a^(b[i])/10)
其中,a^(b[i]) mod 10表示a的b[i]次方的个位数,a^(b[i])/10表示a的b[i]次方剩下的数。因为一个数乘以10的幂次方后,其个位数为0,所以我们可以将a^(b[i])/10乘以10的幂次方后再与个位数相乘,即:
a^(b[i]) = (a^(b[i]) mod 10) * 10^(b[i]) + (a^(b[i])/10) * 10^(b[i])
将上述式子代入原式,得到:
a^b = (a^(b[0]) mod 10) * 10^(b[0]) + (a^(b[0])/10) * 10^(b[0]) * (a^(b[1]) mod 10) * 10^(b[1]) + (a^(b[1])/10) * 10^(b[1]) * (a^(b[2]) mod 10) * 10^(b[2]) + …… + (a^(b[n-2])/10) * 10^(b[n-2]) * (a^(b[n-1]) mod 10) * 10^(b[n-1]) + (a^(b[n-1])/10) * 10^(b[n-1])
我们可以将上述式子中的每一项都表示为result的形式,即:
result = (result^10) * (a^(b[0]) mod 10) + (result * (a^(b[0])/10))^10 * (a^(b[1]) mod 10) + (result * (a^(b[0])/10) * (a^(b[1])/10))^10 * (a^(b[2]) mod 10) + …… + (result * (a^(b[n-2])/10) * (a^(b[n-1])/10))^10 * (a^(b[n-1]) mod 10) + (result * (a^(b[n-1])/10))^10 * 10^(b[n-1])
这样,我们就将a^b的计算转化为了result的计算。每次计算时,我们都只需要将当前的a^(b[i])分解成个位数和剩余部分,然后将个位数与result相乘,将剩余部分乘以10的幂次方后再与result相乘,最后将这两个乘积相加即可。这样做的好处是,每次计算都只需要对10取余和除以10,而不需要进行大量的乘法和除法运算,从而大大提高了计算效率。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)