📅  最后修改于: 2023-12-03 14:55:32.117000             🧑  作者: Mango
这是一个计算模5余数的问题。我们需要计算$1^n+2^n+3^n+4^n$在模5意义下的余数。
我们可以先列举$n$的一些取值,看看规律:
| $n$ | $1^n$ | $2^n$ | $3^n$ | $4^n$ | $1^n+2^n+3^n+4^n$ | 余数 | | :-: | :---: | :---: | :---: | :---: | :---------------: | :--: | | 1 | 1 | 2 | 3 | 4 | 10 | 0 | | 2 | 1 | 4 | 4 | 1 | 10 | 0 | | 3 | 1 | 3 | 2 | 4 | 10 | 0 | | 4 | 1 | 1 | 1 | 1 | 4 | 4 | | 5 | 1 | 2 | 3 | 4 | 10 | 0 |
我们可以发现,当$n$为$4$的倍数时,$1^n+2^n+3^n+4^n$模5余数为$4$,否则为$0$。
根据这个规律,我们可以直接判断$n$是否为$4$的倍数,然后输出相应的余数即可。
def mod_5(n: int) -> int:
if n % 4 == 0:
return 4
else:
return 0
assert mod_5(1) == 0
assert mod_5(2) == 0
assert mod_5(3) == 0
assert mod_5(4) == 4
assert mod_5(5) == 0
以上是本题的解题思路和代码实现。