OFFSET
1,2
COMMENTS
This square array A(row,col) is read by downwards antidiagonals as: A(1,1), A(1,2), A(2,1), A(1,3), A(2,2), A(3,1), etc.
Lucky sieve starts with natural numbers: 1, 2, 3, 4, 5, 6, 7, ... from which at first stage the even numbers are removed, and on each subsequent stage n (n > 1) one sets k = <the n-th term of the preceding row> (these k will form the Lucky numbers) and removes every k-th term (from column positions k, 2k, 3k, etc.) of the preceding row to produce the next row of this array.
LINKS
EXAMPLE
The top left corner of the array:
1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39
1, 3, 7, 9, 13, 15, 19, 21, 25, 27, 31, 33, 37, 39, 43, 45, 49, 51, 55, 57
1, 3, 7, 9, 13, 15, 21, 25, 27, 31, 33, 37, 43, 45, 49, 51, 55, 57, 63, 67
1, 3, 7, 9, 13, 15, 21, 25, 31, 33, 37, 43, 45, 49, 51, 55, 63, 67, 69, 73
1, 3, 7, 9, 13, 15, 21, 25, 31, 33, 37, 43, 49, 51, 55, 63, 67, 69, 73, 75
1, 3, 7, 9, 13, 15, 21, 25, 31, 33, 37, 43, 49, 51, 63, 67, 69, 73, 75, 79
...
To get row 2 from row 1, we use the second term of the first row, which is 3, to remove every third term from row 1: 5, 11, 17, ... which leaves 1, 3, 7, 9, 13, ...
To get row 3 from row 2, we use the third term of row 2, which is 7, to remove every seventh term from row 2: 19, 39, ... which then results in the third row.
PROG
(Scheme)
(define (A258207bi row col) ((rowfun_n_for_A000959sieve row) col))
;; Uses definec-macro which can memoize also function-closures:
(definec (rowfun_n_for_A000959sieve n) (if (= 1 n) A005408shifted (let* ((prevrowfun (rowfun_n_for_A000959sieve (- n 1))) (everynth (prevrowfun n))) (compose-funs prevrowfun (nonzero-pos 1 1 (lambda (i) (modulo i everynth)))))))
(define (A005408shifted n) (- (* 2 n) 1))
CROSSREFS
KEYWORD
nonn,tabl
AUTHOR
Antti Karttunen, Jul 27 2015
STATUS
approved