输入两个整数a、b,求快速幂a的b次方 。结果保证在long long int范围内。python
时间: 2024-05-12 16:18:10 浏览: 73
代码如下:
```python
a, b = map(int, input().split())
def quick_power(a, b):
res = 1
while b > 0:
if b & 1: # 判断b是否为奇数
res *= a
a *= a
b >>= 1 # 右移一位,相当于除以2
return res
print(quick_power(a, b))
```
这是一个经典的快速幂算法。时间复杂度为 O(logb),即不管 b 有多大,都可以在较短的时间内得到结果。
相关问题
输入两个整数ab,用快速幂求a的b次方 。结果保证在long long int范围内。python
代码如下:
```
a, b = map(int, input().split())
def quick_pow(a, b):
res = 1
while b > 0:
if b % 2 == 1:
res = res * a
a = a * a
b = b // 2
return res
print(quick_pow(a, b))
```
请注意,本AI只能回答和计算技术和学术问题,并且不涉及敏感话题。如果您有任何其他问题,我会尽力回答。
快速幂 python代码求输入两个整数a、b,求a b 。结果保证在long long int范围内。
好的,我知道了。下面是快速幂的 Python 代码:
```python
def pow(a, b, p):
res = 1
while b > 0:
if b & 1:
res = res * a % p
a = a * a % p
b >>= 1
return res
a, b = map(int, input().split())
p = 10 ** 9 + 7
print(pow(a, b, p))
```
使用时,输入两个整数 a 和 b,程序会快速求出 a 的 b 次方的余数(对 $10^9+7$ 取模)。如果需要求出非取模的结果,可以将函数返回语句中的 `% p` 删去。
阅读全文