OFFSET
0,3
COMMENTS
It is known that a(n) > 0 for every n, i.e., every number can be written as the sum of 3 palindromes.
The graph has a kind of self-similarity: looking at the first 100 values, there is a Gaussian-shaped peak centered at the first local maximum a(15) = 18. Looking at the first 10000 values, one sees just one Gaussian-shaped peak centered around the record and local maximum a(1453) = 766, but to both sides of this value there are smaller peaks, roughly at distances which are multiples of 10. In the range [1..10^6], one sees a Gaussian-shaped peak centered around the record a(164445) = 57714. In the range [1..3*10^7], there is a similar peak of height ~ 4.3*10^6 at 1.65*10^7, with smaller neighbor peaks at distances which are multiples of 10^6, etc. - M. F. Hasler, Sep 09 2018
LINKS
Giovanni Resta, Table of n, a(n) for n = 0..10000
Javier Cilleruelo and Florian Luca, Every positive integer is a sum of three palindromes, arXiv: 1602.06208 [math.NT], 2016-2017.
Erich Friedman, Problem of the Month (June 1999)
James Grime and Brady Haran, Every Number is the Sum of Three Palindromes, Numberphile video (2018)
Hugo Pfoertner, Plot of first 10^6 terms
Hugo Pfoertner, Plot of first 3*10^7 terms
Hugo Pfoertner, Plot of low values in range 7*10^6 ... 10^7
FORMULA
a(n) = Sum_{k=0..3} A319453(n,k). - Alois P. Heinz, Sep 19 2018
EXAMPLE
a(0)=1 because 0 = 0+0+0;
a(1)=1 because 1 = 0+0+1;
a(2)=2 because 2 = 0+1+1 = 0+0+2;
a(3)=3 because 3 = 1+1+1 = 0+1+2 = 0+0+3.
a(28) = 6 since 28 can be expressed in 6 ways as the sum of 3 palindromes, namely, 28 = 0+6+22 = 1+5+22 = 2+4+22 = 3+3+22 = 6+11+11 = 8+9+11.
MAPLE
A261132 := proc(n)
local xi, yi, x, y, z, a ;
a := 0 ;
for xi from 1 do
x := A002113(xi) ;
if 3*x > n then
return a;
end if;
for yi from xi do
y := A002113(yi) ;
if x+2*y > n then
break;
else
z := n-x-y ;
if z >= y and isA002113(z) then
a := a+1 ;
end if;
end if;
end do:
end do:
return a;
end proc:
seq(A261132(n), n=0..80) ; # R. J. Mathar, Sep 09 2015
MATHEMATICA
pal=Select[Range[0, 1000], (d = IntegerDigits@ #; d == Reverse@ d)&]; a[n_] := Length@ IntegerPartitions[n, {3}, pal]; a /@ Range[0, 1000]
PROG
(PARI) A261132(n)=n||return(1); my(c=0, i=inv_A002113(n)); A2113[i] > n && i--; until( A2113[i--]*3 < n, j = inv_A002113(D = n-A2113[i]); if( j>i, j=i, A2113[j] > D && j--); while( j >= k = inv_A002113(D - A2113[j]), A2113[k] == D - A2113[j] && c++; j--||break)); c \\ For efficiency, this uses an array A2113 precomputed at least up to n. - M. F. Hasler, Sep 10 2018
CROSSREFS
KEYWORD
AUTHOR
Giovanni Resta, Aug 10 2015
EXTENSIONS
Examples revised and plots for large n added by Hugo Pfoertner, Aug 11 2015
STATUS
approved