L'équation suivante est «1 ** 1 + 2 ** 2 + 3 ** 3 + ... + 10 ** 10 = 10405071317».
Maintenant, trouvez les 10 derniers chiffres de 1 ** 1 + 2 ** 2 + 3 ** 3 + ... + 1000 ** 1000
.
http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&page=Problem%2048
Terminez avec le générateur et la somme. Cela semble être les 10 derniers chiffres, alors j'ai essayé de le diviser par 10 ** 10
en cours de route, mais c'est un mystère à quel point cela va changer.
# coding: utf-8
def main():
MAX = 1000
DIV = 10**10
print sum((i**i) % DIV for i in range(1,MAX+1)) % DIV
main()
Recommended Posts