您的任务是按照以下步骤缓慢计算幂运算:
给定两个输入(在此示例中为4和8),您必须通过逐位计算方程来计算幂。您会做的4^8
,具有更大的基值(4)和较小的指数(8)。您可以使用更多的幂和除法来执行此操作。您可以将指数除以值X(假设X是指数的质数),然后将基值(B)设为B^X
。例如,您可以执行以下操作:
4^8 = (4 ^ 2)^(8 / 2) = 16^4
我在前面的方程式中将X替换为2。
您可以16^4
再次通过X = 2
以下方式进一步“简化” :
16^4 = (16 ^ 2)^(4 / 2) = 256^2
然后最后计算一个数字(再次是X = 2
):
256^2 = (256 ^ 2)^(2 / 2) = 65536^1 = 65536
因此,
4^8 = 16^4 = 256^2 = 65536
这是您应该提供的输出。输出分隔符有点灵活,例如,您可以用换行符或空格代替来分隔方程式=
。或者,您可以将它们放入列表中(但不能使用数字或^
字符作为分隔符)。
正如马丁·恩德(Martin Ender)所指出的那样,^
它也很灵活。例如,您可以在输出中使用[A, B]
或A**B
代替A^B
。
X可能只是质数,这意味着您不能直接使用X = 8
解,并且X的值仅是第二个输入(指数)的质因数。
例子:
(input) -> (output)
4^8 -> 4^8=16^4=256^2=65536
5^11 -> 5^11=48828125
2^15 -> 2^15=32^3=32768 (2^15=8^5=32768 is also a valid output)
请注意,输入格式也是灵活的(例如,您可以采用A \n B
或A B
代替A^B
。显然,如果您编写一个带有两个参数的函数,这将不是问题。
在第二个示例中,我们直接进行计算,因为它11
是质数,因此无法采取任何其他步骤。
您可以编写程序或函数来解决此问题,并且可以分别打印或返回该值。
因为这是代码高尔夫球,所以最短的代码获胜!
x^1
?
32^3
和8^15
不是512任一。