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.

A262038 Least palindrome >= n.

Original entry on oeis.org

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 11, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77
Offset: 0

Views

Author

M. F. Hasler, Sep 08 2015

Keywords

Comments

Could be called nextpalindrome() in analogy to the nextprime() function A007918. As for the latter (A151800), there is the variant "next strictly larger palindrome" which equals a(n+1), and thus differs from a(n) iff n is a palindrome; see PARI code.
Might also be called palindromic ceiling function in analogy to the name "palindromic floor" proposed for A261423.

Crossrefs

Sequences related to palindromic floor and ceiling: A175298, A206913, A206914, A261423, A262038, and the large block of consecutive sequences beginning at A265509.

Programs

  • Haskell
    a262038 n = a262038_list !! n
    a262038_list = f 0 a002113_list where
       f n ps'@(p:ps) = p : f (n + 1) (if p > n then ps' else ps)
    -- Reinhard Zumkeller, Sep 16 2015
    
  • Mathematica
    palQ[n_] := Block[{d = IntegerDigits@ n}, d == Reverse@ d]; Table[k = n; While[! palQ@ k, k++]; k, {n, 0, 80}] (* Michael De Vlieger, Sep 09 2015 *)
  • PARI
    {A262038(n, d=digits(n), p(d)=sum(i=1, #d\2, (10^(i-1)+10^(#d-i))*d[i],if(bittest(#d,0),10^(#d\2)*d[#d\2+1])))= for(i=(#d+3)\2,#d,d[i]>d[#d+1-i]&&break;(d[i]9||return(p(d));d[i]=0);10^#d+1} \\ For a function "next strictly larger palindrome", delete the i==#d and n<10... part. - M. F. Hasler, Sep 09 2015
    
  • Python
    def A262038(n):
        sl = len(str(n))
        l = sl>>1
        if sl&1:
            w = 10**l
            n2 = w*10
            for y in range(n//(10**l),n2):
                k, m = y//10, 0
                while k >= 10:
                    k, r = divmod(k,10)
                    m = 10*m + r
                z = y*w + 10*m + k
                if z >= n:
                    return z
        else:
            w = 10**(l-1)
            n2 = w*10
            for y in range(n//(10**l),n2):
                k, m = y, 0
                while k >= 10:
                    k, r = divmod(k,10)
                    m = 10*m + r
                z = y*n2 + 10*m + k
                if z >= n:
                    return z # Chai Wah Wu, Sep 14 2022

A262039 Nearest palindrome to n; in case of a tie choose the larger palindrome.

Original entry on oeis.org

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 11, 11, 11, 11, 11, 11, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 77, 77
Offset: 0

Views

Author

M. F. Hasler, Sep 08 2015

Keywords

Comments

In analogy to the numerical "round" function, we "round up" to the next larger palindrome A262038(n) if it is at the same distance or closer, else we "round down" to the next smaller palindrome A261423(n). See A262040 for a variant where the next smaller palindrome is chosen in case of equal distance.

Examples

			a(10) = 11 since we round up if the next smaller palindrome (here 9) is at the same distance, both 9 and 11 are here at distance 1 from n = 10.
a(16) = 11 since |16 - 11| = 5 is smaller than |16 - 22| = 6.
a(17) = 22 since |17 - 22| = 5 is smaller than |17 - 11| = 6.
a(27) = 22 since |22 - 27| = 5 is smaller than |27 - 33| = 6.
a(28) = 33 since |33 - 28| = 5 is smaller than |22 - 28| = 6, and so on.
a(100) = 101 because we round up again in this case, where 99 and 101 both are at distance 1 from n = 100.
		

Crossrefs

Programs

  • Mathematica
    palQ[n_] := Block[{d = IntegerDigits@ n}, d == Reverse@ d];
    f[n_] := Block[{k = n}, While[Nand[palQ@ k, k > -1], k--]; k];
    g[n_] := Block[{k = n}, While[! palQ@ k, k++]; k];
    h[n_] := Block[{a = f@ n, b = g@ n}, Which[palQ@ n, n, (b - n) - (n - a) > 0, a, (b - n) - (n - a) <= 0, b]]; Table[h@ n, {n, 0, 73}] (* Michael De Vlieger, Sep 09 2015 *)

A262040 Nearest palindrome to n; in case of a tie choose the smaller palindrome.

Original entry on oeis.org

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 11, 11, 11, 11, 11, 11, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 77, 77
Offset: 0

Views

Author

M. F. Hasler, Sep 08 2015

Keywords

Comments

In contrast to A262039, here we "round down" to the next smaller palindrome A261423(n) if it is at the same distance or closer, else we "round up" to the next larger palindrome A262038(n).

Examples

			a(10) = 9 since we round down if the next larger palindrome (here 11) is at the same distance, both 9 and 11 are here at distance 1 from n = 10.
a(16) = 11 since |16 - 11| = 5 is smaller than |16 - 22| = 6.
a(17) = 22 since |17 - 22| = 5 is smaller than |17 - 11| = 6.
a(27) = 22 since |22 - 27| = 5 is smaller than |27 - 33| = 6.
a(28) = 33 since |33 - 28| = 5 is smaller than |22 - 28| = 6, and so on.
a(100) = 99 because we round down in this case, where 99 and 101 both are at distance 1 from n = 100.
		

Crossrefs

Programs

  • Mathematica
    palQ[n_] := Block[{d = IntegerDigits@ n}, d == Reverse@ d];
    f[n_] := Block[{k = n}, While[Nand[palQ@ k, k > -1], k--]; k];
    g[n_] := Block[{k = n}, While[! palQ@ k, k++]; k];
    h[n_] := Block[{a = f@ n, b = g@ n}, Which[palQ@ n, n, (b - n) - (n - a) >= 0, a, (b - n) - (n - a) < 0, b]]; Table[h@ n, {n, 0, 73}] (* Michael De Vlieger, Sep 09 2015 *)
Showing 1-3 of 3 results.