|
|
|
|
3854, 3854, 3035, 3035, 3035, 3035, 3854, 4644, 4644, 4644, 4644, 4644, 3854, 15846, 4644, 4644, 4644, 4644, 4644, 22918, 15846, 15846, 10225, 10225, 10225, 10225, 15846, 22918, 15846, 13364, 13364, 13364, 13364, 10225, 10225, 10225, 10225, 15846, 13364, 13364, 22918, 45012
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,1
|
|
COMMENTS
|
Indices of XOR-positive triangular numbers such that the generated triangular number is also XOR-positive (definition: triangular(i) is XOR-positive if triangular(i) XOR triangular(i+1) = triangular(k) for some k). XOR is the bitwise logical exclusive-or operator.
Conjecture: the sequence is infinite.
The subsequence with only odd terms begins: 3035, 3035, 3035, 3035, 10225, 10225, 10225, 10225, 10225, 10225, 10225, 10225, 171449, 171449, 236985, 171449, 339249.
|
|
LINKS
|
|
|
PROG
|
(C)
#include <stdio.h>
typedef unsigned long long U64;
U64 rootTriangular(U64 a) {
U64 sr = 1L<<32, s, b;
if (a < (sr/2)*(sr+1)) {
sr>>=1;
while (a < sr*(sr+1)/2) sr>>=1;
}
for (b = sr>>1; b; b>>=1) {
s = sr+b;
if (a >= s*(s+1)/2) sr = s;
}
return sr;
}
int main() {
U64 a, n, r, t;
for (n=0; n < (1L<<32)-1; n++) {
a = (n*(n+1)/2) ^ ((n+1)*(n+2)/2);
t = rootTriangular(a);
if (a == t*(t+1)/2) {
a ^= (t+1)*(t+2)/2;
r = rootTriangular(a);
if (a == r*(r+1)/2) printf("%llu, ", t);
}
}
}
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn,base
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|