操作
Problem 20¶
Factorial Digit Sum¶
$n!$ means $n \times (n - 1) \times \cdots \times 3 \times 2 \times 1$.
For example, $10! = 10 \times 9 \times \cdots \times 3 \times 2 \times 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!$.
各位の数字の和 2¶
n × (n - 1) × ... × 3 × 2 × 1 を n! と表す.
例えば, 10! = 10 × 9 × ... × 3 × 2 × 1 = 3628800 となる.
この数の各桁の合計は 3 + 6 + 2 + 8 + 8 + 0 + 0 = 27 である.
では, 100! の各位の数字の和を求めよ.
注: Problem 16 も各位の数字の和に関する問題です。解いていない方は解いてみてください。
#!r6rs
#!chezscheme
(import (chezscheme))
(define (each-numbers num)
(let ([number-chars (string->list (number->string num))])
(map
(lambda (char)
(char- char #\0))
number-chars)))
(define iota-1-100
(cdr (iota 101)))
(define answer-20
(apply + (each-numbers (apply * iota-1-100))))
(printf "20: ~D~%" answer-20)
Noppi が2024/01/02に更新 · 2件の履歴