我可以使用什么算法来计算 2022^n(给定 n \in N)?我如何证明正确性(也许是归纳?)以及使用的上限是多少?



我必须使用n-1乘法,但我对证明算法的正确性和找到上界感到困惑。我该怎么做/展示??

我知道2022=20*(100+1(+2
2022=200+2
2022=2000+2+2++2.等

我不知道你为什么要把2022分解为加法。m^n表示将m自身乘以n,例如:

2022^n=2022*2022*…*2022.

注意2022出现n次(这是将数字提升为幂的定义(,并且存在n-1乘法运算。

例如,2022^2 = 2022 * 2022。有一个乘法运算。

你可以在这样的代码中完成这一点(这里是C#,但这个概念适用于每种语言(:

long m = 2022;
long n = 3;
long counter = 1;
for (int i = 0; i < n; i++)
counter = counter * m;

Console.WriteLine(counter);

注意,将2022提高到n的适度大的值将溢出64位整数类型。使用浮点类型仍然可以获得较大n的良好近似值。

正如评论中提到的,一种更有效但不太明显的方法是通过平方进行指数化。

最新更新