|
|
A034706
|
|
Numbers which are sums of consecutive triangular numbers.
|
|
14
|
|
|
0, 1, 3, 4, 6, 9, 10, 15, 16, 19, 20, 21, 25, 28, 31, 34, 35, 36, 45, 46, 49, 52, 55, 56, 64, 66, 74, 78, 80, 81, 83, 84, 85, 91, 100, 105, 109, 110, 116, 119, 120, 121, 130, 136, 144, 145, 153, 155, 161, 164, 165, 166, 169, 171, 185, 190, 196, 199, 200, 202, 210
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,3
|
|
LINKS
|
|
|
MAPLE
|
isA034706 := proc(n)
local a, b;
for a from 0 do
if a*(a+1)/2 > n then
return false;
end if;
for b from a do
tab := (1+b-a)*(a^2+b*a+a+b^2+2*b)/6 ;
if tab = n then
return true;
elif tab > n then
break;
end if;
end do:
end do:
end proc:
for n from 0 to 100 do
if isA034706(n) then
printf("%d, ", n) ;
end if;
|
|
MATHEMATICA
|
M = 1000; (* to get all terms <= M *)
nmax = (Sqrt[8 M + 1] - 1)/2 // Ceiling;
Table[Sum[n(n+1)/2, {n, j, k}], {j, 0, nmax}, {k, j, nmax}] // Flatten // Union // Select[#, # <= M&]& (* Jean-François Alcover, Mar 10 2019 *)
|
|
PROG
|
(Haskell)
-- import Data.Set (deleteFindMin, union, fromList); import Data.List (inits)
a034706 n = a034706_list !! (n-1)
a034706_list = f 0 (tail $ inits $ a000217_list) (fromList [0]) where
f x vss'@(vs:vss) s
| y < x = y : f x vss' s'
| otherwise = f w vss (union s $ fromList $ scanl1 (+) ws)
where ws@(w:_) = reverse vs
(y, s') = deleteFindMin s
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|