私の自分史習作

以前にHPを作っていました。
それも含めた身辺雑記エッセイです。
最近はRacketプログラムや本の紹介です。

三つ子素数について-Racketを使って

2017-05-17 19:43:19 | Weblog
三つ子素数とは(5 7 11)とか(7 11 13)などの隣り合う素数の差が2か4である
3つの素数の組み合わせです。
定式化すると、pを素数とすると
(p p+2 p+6)か(p p+4 p+6)のいずれかの形で、3つの素数の組み合わせです。

racketのプログラムは以下になります。

(require (lib "1.ss" "srfi"))
(require math/number-theory)

(define (prime-list n)
(filter prime? (iota (- n 1) 2)))

(define (tri-fact n)
(for ([i (prime-list n)])
(cond
[(and (prime? (+ i 2))(prime? (+ i 6)))
(display (list i (+ i 2)(+ i 6)))]
[(and (prime? (+ i 4))(prime? (+ i 6)))
(display (list i (+ i 4)(+ i 6)))]
[else (display "")])))

以上を実行してから

(tri-fact 100)

を実行すると次のようになります。

(tri-fact 100)
(5 7 11)(7 11 13)(11 13 17)(13 17 19)(17 19 23)(37 41 43)(41 43 47)(67 71 73)(97 101 103)
>
ジャンル:
ウェブログ
コメント   この記事についてブログを書く
この記事をはてなブックマークに追加
« 双子素数について-Rack... | トップ | フェルマー素数ーRacke... »

コメントを投稿


コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。

あわせて読む

トラックバック

この記事のトラックバック  Ping-URL