编写程序,求一个整数的任意次方的最后一位数
时间: 2023-09-09 11:07:10 浏览: 71
假设要求一个整数n的m次方的最后一位数,可以使用以下方法:
1.将n的最后一位数记为a。
2.计算a的m次方的最后一位数,可以使用以下规律:
当a为0或1时,a的任意次方的最后一位数都为0或1。
当a为2、3、7、8时,a的4次方的最后一位数为6,a的任意次方都可以化为4的倍数加上小于4的余数,然后根据以下规律计算:
余数为0时,最后一位数为6;
余数为1时,最后一位数为本身;
余数为2时,最后一位数为4;
余数为3时,最后一位数为8。
当a为4、9时,a的2次方的最后一位数为6,a的任意次方都可以化为2的倍数加上小于2的余数,然后根据以下规律计算:
余数为0时,最后一位数为1;
余数为1时,最后一位数为本身。
当a为5时,a的任意次方的最后一位数都为5。
当a为6时,a的任意次方的最后一位数都为6。
当a为0时,a的任意次方的最后一位数都为0。
3.根据步骤2中的结果计算n的m次方的最后一位数。
以下是Python代码实现:
```python
def last_digit(n, m):
a = n % 10
if a == 0 or a == 1 or a == 5 or a == 6:
return a
elif a == 2 or a == 3 or a == 7 or a == 8:
b = m % 4
if b == 0:
return pow(a, 4) % 10
else:
return pow(a, b) % 10
elif a == 4 or a == 9:
b = m % 2
if b == 0:
return pow(a, 2) % 10
else:
return pow(a, b) % 10
else:
return None
```
例如,要求15的7次方的最后一位数,可以调用函数last_digit(15, 7),返回结果为5。