|
|
A106001
|
|
Start S with 1; extend S with a(n) such that a(n) is the smallest unused integer so far that ends with the a(n)-th digit of S.
|
|
3
|
|
|
1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 21, 12, 31, 41, 22, 13, 51, 14, 61, 32, 42, 71, 23, 15, 81, 91, 24, 16, 101, 33, 52, 34, 62, 17, 111, 72, 43, 121, 25, 18, 131, 19, 141, 82, 44, 151, 26, 161, 10, 171, 53, 63, 35, 92, 73, 54, 36, 102, 181, 27, 191, 201, 211, 37, 112, 64
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,2
|
|
COMMENTS
|
This is a permutation of the natural numbers as, in building the sequence, we always choose the smallest integer not yet present.
|
|
LINKS
|
|
|
EXAMPLE
|
Last digits are: (1), (2), (3), (4), (5), (6), (7), (8), (9), 1(1), 2(1), 1(2), 3(1), 4(1), 2(2), 1(3), 5(1), 1(4), 6(1), 3(2), 4(2),... which form (1), (2), (3), (4), (5), (6), (7), (8), (9), (1), (1), (2), (1), (1), (2), (3), (1), (4), (1), (2), (2)... then 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 1, 2, 1, 1, 2, 3, 1, 4, 1, 2, 2,... which can be seen as 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 21, 12, 31, 41, 22,... thus the starting sequence.
|
|
PROG
|
(Haskell)
import Data.List (delete)
a250310 n = a250310_list !! (n-1)
a250310_list = [1..9] ++ [11] ++ f ([0..9] ++ [1, 1]) 11 (10 : [12..])
where f ss i zs = g zs where
g (x:xs) = if ss !! i /= mod x 10
then g xs
else x : f (ss ++ map (read . return) (show x))
(i + 1) (delete x zs)
-- Reinhard Zumkeller, Jan 16 2015
|
|
CROSSREFS
|
|
|
KEYWORD
|
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|