24 lines
789 B
Racket
24 lines
789 B
Racket
#lang racket
|
|
|
|
(require plot)
|
|
|
|
(define a098550
|
|
(let ((hsh# (make-hash '((1 . 1) (2 . 2) (3 . 3))))
|
|
(rev# (make-hash '((1 . 1) (2 . 2) (3 . 3)))))
|
|
(λ (n)
|
|
(hash-ref hsh# n
|
|
(λ ()
|
|
(let ((a_n (for/first ((i (in-naturals 4))
|
|
#:unless (hash-has-key? rev# i)
|
|
#:when (and (= (gcd i (a098550 (- n 1))) 1)
|
|
(> (gcd i (a098550 (- n 2))) 1)))
|
|
i)))
|
|
(hash-set! hsh# n a_n)
|
|
(hash-set! rev# a_n n)
|
|
a_n))))))
|
|
|
|
(map a098550 (range 1 (add1 30)))
|
|
|
|
(plot (points
|
|
(map (λ (i) (vector i (a098550 i))) (range 1 (add1 100)))))
|