%I #26 Mar 22 2020 17:18:16
%S 0,1,2,3,4,5,6,7,8,9,11,222,313,353,444,575,666,797,1111,6776,8778,
%T 24542,25452,26362,56265,311113,2377732,2713172,2832382,2906092,
%U 8864688,10122101,13055031,20244202,20944902,23177132,23877832
%N Palindromic in bases 13 and 10.
%H Robert G. Wilson v, <a href="/A029968/b029968.txt">Table of n, a(n) for n = 1..76</a>
%H P. De Geest, <a href="http://www.worldofnumbers.com/nobase10.htm">Palindromic numbers beyond base 10</a>
%t NextPalindrome[n_] := Block[{l = Floor[ Log[10, n] + 1], idn = IntegerDigits[n]}, If[ Union[idn] == {9}, Return[n + 2], If[l < 2, Return[n + 1], If[ FromDigits[ Reverse[ Take[idn, Ceiling[l/2]] ]] FromDigits[ Take[idn, -Ceiling[l/2]]], FromDigits[ Join[ Take[idn, Ceiling[l/2]], Reverse[ Take[idn, Floor[l/2]] ]]], idfhn = FromDigits[ Take[idn, Ceiling[l/2]]] + 1; idp = FromDigits[ Join[ IntegerDigits[idfhn], Drop[ Reverse[ IntegerDigits[idfhn]], Mod[l, 2]] ]]] ]]]; palQ[n_Integer, base_Integer] := Block[{idn = IntegerDigits[n, base]}, idn == Reverse[idn]]; l = {0}; a = 0; Do[a = NextPalindrome[a]; If[ palQ[a, 13], AppendTo[l, a]], {n, 100000}]; l (* _Robert G. Wilson v_, Sep 03 2004 *)
%t Select[Range[0, 10^5],
%t PalindromeQ[#] && # == IntegerReverse[#, 13] &] (* _Robert Price_, Nov 09 2019 *)
%o (Python)
%o from gmpy2 import digits
%o def palQ(n,b): # check if n is a palindrome in base b
%o s = digits(n,b)
%o return s == s[::-1]
%o def palQgen10(l): # generator of palindromes in base 10 of length <= 2*l
%o if l > 0:
%o yield 0
%o for x in range(1,l+1):
%o for y in range(10**(x-1),10**x):
%o s = str(y)
%o yield int(s+s[-2::-1])
%o for y in range(10**(x-1),10**x):
%o s = str(y)
%o yield int(s+s[::-1])
%o A029968_list = [n for n in palQgen10(9) if palQ(n,13)]
%o # _Chai Wah Wu_, Dec 01 2014
%Y Cf. A007632, A007633, A029961, A029962, A029963, A029964, A029804, A029965, A029966, A029967, A029969, A029970, A029731, A097855, A099165.
%K nonn,base
%O 1,3
%A _Patrick De Geest_
|