

A233074


Numbers that are exactly midway between the nearest square and the nearest triangular number.


4



2, 5, 23, 32, 47, 52, 65, 86, 140, 161, 170, 193, 203, 228, 266, 312, 356, 389, 403, 438, 453, 490, 545, 610, 671, 716, 735, 782, 802, 851, 1007, 1085, 1142, 1166, 1250, 1311, 1503, 1598, 1667, 1696, 1767, 1870, 2098, 2177, 2210, 2291, 2325, 2408, 2528, 2792, 2883
(list;
graph;
refs;
listen;
history;
text;
internal format)



OFFSET

1,1


COMMENTS

Numbers k such that k = (s+t)/2, where s is the square nearest to k, t is the triangular number nearest to k, and s != t. If there are two nearest triangular numbers, either of them is acceptable.  Edited by Robert Israel, Oct 07 2019
The sequence of roots of nearest squares begins: 1, 2, 5, 6, 7, 7, 8, 9, 12, 13, 13, 14, 14, 15, 16, 18, 19, 20, 20, 21, 21, ...
The sequence of roots of nearest triangular numbers begins: 2, 3, 6, 7, 9, 10, 11, 13, 16, 17, 18, 19, 20, 21, 23, 24, 26, 27, 28, 29, ...
The sequence of kt (equals sk) begins: 1, 1, 2, 4, 2, 3, 1, 5, 4, 8, 1, 3, 7, 3, 10, 12, 5, 11, 3, 3, 12, 6, ...


LINKS



EXAMPLE

5 is in the sequence because 6 and 4 are the triangular number and square nearest to 5, and 5 = (6+4)/2.
23 is in the sequence because 21 and 25 are the triangular number and square nearest to 23, and 23 = (21+25)/2.


MAPLE

f:= proc(y) local t, x, s, r, R;
t:= y*(y+1)/2;
R:= NULL;
for x from ceil(sqrt(t))1 to floor(sqrt(t))+1 do
s:= x^2;
if s = t then next
elif s < t then if ty > s then next fi
else if t+y+1 < s then next fi
fi;
r:= (s+t)/2;
if r::integer then R:= R, r fi
od;
R
end proc:


MATHEMATICA

f[y_] := Module[{t, x, s, r, R = Nothing},
t = y(y+1)/2;
For[x = Ceiling[Sqrt[t]]1, x <= Floor[Sqrt[t]]+1, x++,
s = x^2;
Which[s == t, Continue[], s < t,
If[t  y > s, Continue[]], True,
If[t + y + 1 < s, Continue[]]];
r = (s + t)/2;
If[IntegerQ[r], R = r]
];
R];


PROG

(Java)
import java.math.*;
public static void main (String[] args) {
for (long n = 1; ; n++) { // ok for small n
long r2 = (long)Math.sqrt(n), b2 = r2*r2, a2 = (r2+1)*(r2+1);
long t = (long)Math.sqrt(2*n), b3 = t*(t+1)/2, a3 = b3 + t + 1;
if (b3 > n) {
a3 = b3;
b3 = t*(t1)/2;
}
if ((b2+a3 == n*2 && n  b2 <= a2  n && a3  n <= n  b3) 
(b3+a2 == n*2 && n  b3 <= a3  n && a2  n <= n  b2))
System.out.printf("%d, ", n);
}
}
}


CROSSREFS



KEYWORD

nonn,easy


AUTHOR



EXTENSIONS



STATUS

approved



