A111156 Numbers that look the same when printed upside down.
0, 8, 69, 88, 96, 609, 689, 808, 888, 906, 986, 6009, 6699, 6889, 6969, 8008, 8698, 8888, 8968, 9006, 9696, 9886, 9966, 60009, 60809, 66099, 66899, 68089, 68889, 69069, 69869, 80008, 80808, 86098, 86898, 88088, 88888, 89068, 89868, 90006, 90806, 96096, 96896, 98086, 98886, 99066, 99866, 600009
Offset: 1
Links
- Robert Israel, Table of n, a(n) for n = 1..10000
Programs
-
Haskell
main=print$"0":concat[concat[[reverse(reverse(map f x)++z++x)|x<-y]|z<-["","0"]]|y<-s(iterate i"6")];f '0'='0';f '6'='9';f '8'='8';f '9'='6';i('0':x)='6':x;i('6':x)='8':x;i('8':x)='9':x;i('9':x)='0':i x;i""="6";s(x:y@(z:_))=let w:v=s y in if length x==length z then(x:w):v else[x]:w:v
-
Maple
f:= proc(n) local L,Lp,nl; L:= subs(1=6,2=8,3=9,convert(n,base,4)); nl:= nops(L); Lp:= subs([6=9,9=6],L); add(Lp[-i]*10^(i-1),i=1..nl)+add(L[i]*10^(nl+i-1),i=1..nl); end proc: g:= proc(n) local L,Lp,nl; L:= subs(1=6,2=8,3=9,convert(n,base,4)); nl:= nops(L); Lp:= subs([6=9,9=6],L); seq(add(Lp[-i]*10^(i-1),i=1..nl)+x*10^nl+add(L[i]*10^(nl+i),i=1..nl),x=[0,8]); end proc: 0,8,seq(op([seq(f(n),n=4^i..4^(i+1)-1),seq(g(n),n=4^i..4^(i+1)-1)]),i=0..2); # Robert Israel, Jul 02 2018
-
Mathematica
Select[Range[0,600010],ContainsOnly[IntegerDigits[#],{0,6,8,9}]&&IntegerReverse[FromDigits[IntegerDigits[#]/.{6->9,9->6}]]==#&] (* James C. McMahon, Apr 30 2024 *)
-
Python
from itertools import count, islice, product def ud(s): return s[::-1].translate({ord('6'):ord('9'), ord('9'):ord('6')}) def agen(): yield from [0, 8] for d in count(2): for start in "689": for rest in product("0689", repeat=d//2-1): left = start + "".join(rest) right = ud(left) for mid in [[""], ["0", "8"]][d%2]: yield int(left + mid + right) print(list(islice(agen(), 48))) # Michael S. Branicky, Mar 29 2022
Extensions
Corrected by Robert Israel, Jul 02 2018
Comments