Factorial digit sum
2014-09-14
Problem 020: Factorial digit sum
n! means n × (n - 1) × ... × 3 × 2 × 1
For example, 10! = 10 × 9 × ... × 3 × 2 × 1 = 3628800, and the sum of the digits in the number 10! is 3 + 6 + 2 + 8 + 8 + 0 + 0 = 27.
Find the sum of the digits in the number 100!
Solution:
v0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
v0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
>"d">1-:!#v_:03p013p"~I"+23p>23g"d"%1+23g"d"/g"0"-03g*13g+:55+%68 v
^ $# _^#!p32:-1g32p31/+55p/"d"g32+1%"d"g32+*<
>"~I"+33p0>33g"d"%1+33g"d"/g"0"-+ 33g:1-33p v
@._^#! <
v0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
>"d">1-:!#v_:03p013p"~I"+23p>23g"d"%1+23g"d"/g"0"-03g*13g+:55+%68 v
^ $# _^#!p32:-1g32p31/+55p/"d"g32+1%"d"g32+*<
>"~I"+33p0>33g"d"%1+33g"d"/g"0"-+ 33g:1-33p v
@._^#! <
Start
??
Pause
Reset
Output:
Stack: (0)
Explanation:
The approach is similar to problem 16 - the main task was implementing a long multiplication algorithm in Befunge. Then, after 100! is calculated we only need to sum the individual digits.
Interpreter steps: | 1 546 679 |
Execution time (BefunExec): | 265ms (5.84 MHz) |
Program size: | 101 x 6 |
Solution: | 648 |
Solved at: | 2014-09-14 |