Comment detail

ダブル完全数 (Nested Flatten)
shiroさんから教えてもらったcomprehensionを使ってみました!
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
(use srfi-42)
(use srfi-1)

(define (divisors n)
  (remove (complement number?)
          (list-ec (: i 1 (+ 1 n))
                   (when (zero? (remainder n i)) i))))
(define (double-complete-number? n)
  (= (* n 3) (apply + (divisors n))))
(do-ec (: i 1 10001)
       (if (double-complete-number? i) (print i)))
srfi-42を使うならsum-ecってのもあります。
1
2
3
4
5
(define (double-complete-number? n)
  (= (* n 3)
     (sum-ec (: i 1 (+ 1 n))
             (if (zero? (remainder n i)))
             i)))
あれ、#1109への返信のつもりで書いたのが返信になっていなかったようです。
むむ。ちょいテスト。
わかった。「利用規約に同意します」のチェックを忘れて再投稿画面になった場合、返信であるという情報が忘れられてしまうらしい。
修正しておきました。
#1140は私の投稿ではないです。DB修正ミスでしょうか?
「#1109への返信のつもりで書いたのが返信になっていなかった」
というのは#1140のことではなかったのですか。
勘違いしました。どれを修正すればいいですか?

とりあえず1140は元に戻しておきます。
#1129を修正しました。 これであってますよね?
ありがとうございます。合っています。

Index

Feed

Other

Link

Pathtraq

loading...