cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

Showing 1-3 of 3 results.

A061816 Obtain m by omitting trailing zeros from n (cf. A004151); a(n) = smallest multiple k*m which is a palindrome.

Original entry on oeis.org

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 11, 252, 494, 252, 525, 272, 272, 252, 171, 2, 252, 22, 161, 696, 525, 494, 999, 252, 232, 3, 434, 2112, 33, 272, 525, 252, 111, 494, 585, 4, 656, 252, 989, 44, 585, 414, 141, 2112, 343, 5, 969, 676, 212, 27972, 55, 616, 171, 232
Offset: 0

Views

Author

Klaus Brockhaus, Jun 25 2001

Keywords

Comments

Every positive integer is a factor of a palindrome, unless it is a multiple of 10 (D. G. Radcliffe, see links).
Every integer n has a multiple of the form 99...9900...00. To see that n has a multiple that's a palindrome (allowing 0's on the left) with even digits, let 9n divide 99...9900...00; then n divides 22...2200...00. - Dean Hickerson, Jun 29 2001

Examples

			For n = 30 we have m = 3, 1*m = 3 is a palindrome, so a(30) = 3. For n = m = 12 the smallest palindromic multiple is 21*m = 252, so a(12) = 252.
		

Crossrefs

Cf. A050782, A062293, A061915, A061916. Values of k are given in A061906.

Programs

  • ARIBAS
    stop := 200000; for n := 0 to maxarg do k := 1; test := true; while test and k < stop do mp := omit_trailzeros(n)*k; if test := mp <> int_reverse(mp) then inc(k); end; end; if k < stop then write(mp," "); else write(-1," "); end; end;

A061906 Obtain m by omitting trailing zeros from n; a(n) = smallest k such that k*m is a palindrome.

Original entry on oeis.org

1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 21, 38, 18, 35, 17, 16, 14, 9, 1, 12, 1, 7, 29, 21, 19, 37, 9, 8, 1, 14, 66, 1, 8, 15, 7, 3, 13, 15, 1, 16, 6, 23, 1, 13, 9, 3, 44, 7, 1, 19, 13, 4, 518, 1, 11, 3, 4, 13, 1, 442, 7, 4, 33, 9, 1, 11, 4, 6, 1, 845, 88, 4, 3, 7, 287, 1, 11, 6, 1, 12345679, 8
Offset: 0

Views

Author

Klaus Brockhaus, Jun 25 2001

Keywords

Comments

Every positive integer is a factor of a palindrome, unless it is a multiple of 10 (D. G. Radcliffe, see Links).
Every integer n has a multiple of the form 99...9900...00. To see that n has a multiple that's a palindrome (allowing 0's on the left) with even digits, let 9n divide 99...9900...00; then n divides 22...2200...00. - Dean Hickerson, Jun 29 2001

Examples

			For n = 30 we have m = 3, 1*m = 3 is a palindrome, so a(30) = 1. For n = m = 12 the smallest palindromic multiple is 21*m = 252, so a(12) = 21.
		

Crossrefs

Cf. A050782, A062293, A061915, A061916, A061816. Values of k*m are given in A061906.

Programs

  • ARIBAS
    stop := 20000000; for n := 0 to maxarg do k := 1; test := true; while test and k < stop do mp := omit_trailzeros(n)*k; if test := mp <> int_reverse(mp) then inc(k); end; end; if k < stop then write(k," "); else write(-1," "); end; end;
    
  • Mathematica
    skp[n_]:=Module[{m=n/10^IntegerExponent[n,10],k=1},While[!PalindromeQ[k*m],k++];k]; Array[ skp,90,0] (* Harvey P. Dale, Jul 04 2024 *)
  • Python
    from _future_ import division
    def palgen(l, b=10): # generator of palindromes in base b of length <= 2*l
        if l > 0:
            yield 0
            for x in range(1, l+1):
                n = b**(x-1)
                n2 = n*b
                for y in range(n, n2):
                    k, m = y//b, 0
                    while k >= b:
                        k, r = divmod(k, b)
                        m = b*m + r
                    yield y*n + b*m + k
                for y in range(n, n2):
                    k, m = y, 0
                    while k >= b:
                        k, r = divmod(k, b)
                        m = b*m + r
                    yield y*n2 + b*m + k
    def A050782(n, l=10):
        if n % 10:
            x = palgen(l)
            next(x)  # replace with x.next() in Python 2.x
            for i in x:
                q, r = divmod(i, n)
                if not r:
                    return q
            else:
                return 'search limit reached.'
        else:
            return 0
    def A061906(n, l=10):
        return A050782(int(str(n).rstrip('0')),l) if n > 0 else 1
    # Chai Wah Wu, Dec 30 2014

A061916 Obtain m by omitting trailing zeros from n; a(n) = smallest k such that k*m is a palindrome with even digits, or -1 if no such multiple exists.

Original entry on oeis.org

1, 2, 1, 2, 1, -1, 1, 98, 1, 74, 2, 2, 37, 154, 49, -1, 29, 38, 37, 34, 1, 286, 1, 36, 37, -1, 77, 329144, 31, 16, 2, 28, 132, 2, 19, -1, 23, 6, 17, 154, 1, 542, 143, 1602, 1, -1, 18, 6, 88, 14, -1, 824, 77, 8, 164572, -1, 143, 1198, 8, 1154, 1, 1126, 14, 962, 66, -1, 1, 998, 121, 12, 98, 65984, 592, 274, 3, -1, 529, 26, 77, 358
Offset: 0

Views

Author

Klaus Brockhaus, Jun 25 2001

Keywords

Comments

a(n) = -1 if and only if m ends with the digit 5.

Examples

			For n = 30 we have m = 3; 3*2 = 6 is a palindrome with even digits, so a(30) = 2.
		

Crossrefs

Cf. A050782, A062293, A061816, A061906. Values of k*m are given in A061915.

Programs

  • ARIBAS
    stop := 500000; for n := 0 to 80 do k := 1; test := true; while test and k < stop do mp := omit_trailzeros(n)*k; if test := not all_even(mp) or mp <> int_reverse(mp) then inc(k); end; end; if k < stop then write(k," "); else write(-1," "); end; end;
Showing 1-3 of 3 results.