Project Euler/20
Jump to navigation
Jump to search
Project Euler Problem 20 is a problem related to factorial. Find the "digit sum" of the factorial of 100. To learn more about "digit sum", click here.
- This article is not detailed enough and needs to be expanded. Please help us by adding some more information.
Implementations
Aheui
The decimal multiplication algorithm has been improved and now it works for an arbitrarily large number multiplied by any number below a million in any integer base below a million.
밤발발따따빠박따뿌터너벌 ㅇㅇㅇ쑥너벌벌머차바싹볼 희ㅇㅇ뿌터너벌벌서 몽다석차바싼숙머오쎤석러더벌벌썩ㅇㅇ너 ㅇㅇㅇㅇ무선빠사빠싹삭따싼산다빠발발도 ㅇㅇ먀썩뻐ㅇㅇㅇ요
C
#include <stdio.h> int a[320]={1},k,l,r; void flow(int d[]){ int i; for(i=0;i<319;++i){ d[i+1]+=d[i]/10; d[i]%=10; } } int main(){ for(k=1;k<=100;++k){ for(l=0;l<320;++l){ a[l]*=k; } flow(a); } for(l=0;l<320;++l){ r+=a[l]; } printf("%d",r); return 0; }
I fuck, you fuck
There's a fucker named a There's a fucker named b Fuck b 100 times Fuck a 1 times while b is fucked b fucks a again I unfuck b end fuck There's a fucker named c while a is fucked c unfucks c Fuck c 10 times a unfucks c over and over c fucks b c unfucks c Fuck c 10 times a unfucks c again a unfucks a c fucks a end fuck b fucks you
Python
# Euler Problem 20 # by Europe2048 import math def sumdigits(n): sum = 0 for i in str(n): sum = sum + int(i) return sum print(sumdigits(math.factorial(100)))
Alternate implenentation (shorter), by None1:
print(sum(map(int,str(__import__("math").factorial(100)))))
Version by Xi-816:
print(sum([int(i)for i in __import__("math").factorial(100)]))
External resources
- A004152, a related sequence on OEIS. The 101st term is the solution.
- Problem 20 on Project Euler Official Website (not available)
- Problem 20 on Project Euler Mirror