読者です 読者をやめる 読者になる 読者になる

水面下の夢

競プロやイラストに興味があります.メインブログがここ.ソシャゲの話はこっち(http://ameblo.jp/0n0-yumechi/).ブログアイコンはYaQ(@8_9_00)さんから.

No.167 N^M mod 10

Python yukicoder 競技プログラミング

回答

#45698 No.167 N^M mod 10 - yukicoder

気がつくか気が付かないかの問題のような気がする.
下一桁に注目する.じつは4回をワンループとし,下一桁の計算結果を持ってくることが可能である.
(解説のとおりだけど自力で気がついた)
ただし,M==0の時は1であるので,その点にだけ要注意(これでハマった)

N, M = int(input()) % 10, int(input())
print(1 if M == 0 else (N ** (M % 4 + 4)) % 10)