login

Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).

A274640
Counterclockwise square spiral constructed by greedy algorithm, so that each row, column, and diagonal contains distinct numbers.
52
1, 2, 3, 4, 2, 3, 4, 5, 6, 1, 4, 6, 2, 1, 6, 5, 3, 1, 5, 2, 6, 1, 2, 4, 5, 3, 7, 8, 5, 4, 9, 7, 8, 3, 10, 11, 4, 7, 8, 6, 3, 9, 5, 7, 8, 9, 10, 11, 12, 6, 8, 9, 11, 10, 12, 13, 7, 6, 10, 9, 12, 13, 14, 15, 8, 2, 9, 12, 7, 10, 11, 13, 14, 10, 9, 6, 13, 5, 3, 15, 16, 7, 1, 10, 13, 12, 14, 11, 15, 3, 8, 5, 1, 12, 11, 14, 7, 4, 2, 16, 9, 17, 1, 8, 11
OFFSET
0,2
COMMENTS
Presumably every row, column, and diagonal is a permutation of the natural numbers, but is there a proof? - N. J. A. Sloane, Jul 10 2016
The n-th cell in the spiral has coordinates x = A174344(n+1), y = A274923(n+1). - N. J. A. Sloane, Jul 11 2016
From Robert G. Wilson v, Dec 25 2016: (Start) [Memo: all these numbers need to decreased by 1, since the offset here is 0. See A324481. - N. J. A. Sloane, Jul 23 2017. Furthermore, the numbers don't seem correct, even after subtracting 1. - N. J. A. Sloane, Jul 04 2019]
Index of first appearance of k = 1,2,3,...: 1, 2, 3, 7, 8, 15, 17, 25, 35, 41, 47, 61, 62, 89, 98, 99, 121, 129, 130, 143, 197, 208, 225, 239, 271, ..., .
1 appears at: 1, 4, 12, 19, 22, 33, 42, 68, 79, 120, 179, 194, 302, 311, 445, 489, 511, 558, 630, 708, 847, 877, 907, ..., .
2 appears at: 2, 5, 9, 16, 48, 52, 70, 73, 88, 95, 110, 146, 280, 291, 309, 327, 488, 605, 656, 681, 735, 778, 1000, ..., .
3 appears at: 3, 6, 10, 23, 29, 36, 56, 76, 97, 105, 153, 168, 184, 252, 338, 437, 457, 670, 818, 906, 953, 967, ..., . (End).
EXAMPLE
The spiral begins:
.
9--16---2---4---7--14--11--12---1---5---8
| |
17 8--15--14--13--12---9--10---6---7 3
| | | |
1 2 4--11--10---3---8---7---9 13 15
| | | | | |
8 9 7 3---5---6---1---2 4 12 11
| | | | | | | |
11 12 8 1 2---4---3 6 5 10 14
| | | | | | | | | |
15 7 6 5 3 1---2 4 8 11 12
| | | | | | | | |
14 10 3 2 4---5---6---1 7 9 13
| | | | | | |
7 11 9 6---1---2---4---5---3 8 10
| | | | |
4 13 5---7---8---9--10--11--12---6 1
| | |
12 14--10---9---6--13---5---3--15--16---7
|
10--15---1--12--16---8--14--13--11--18--17
.
The 8 spokes (A274924-A274931) begin:
E: 1, 2, 4, 8, 11, 12, 16, 9, 19, 24, 22, ...
NE: 1, 3, 2, 9, 7, 8, 12, 15, 13, 17, 20, ...
N: 1, 4, 6, 3, 12, 14, 15, 18, 20, 26, 25, ...
NW: 1, 2, 3, 4, 8, 9, 7, 11, 14, 10, 22, ...
W: 1, 3, 5, 6, 7, 15, 10, 17, 13, 25, 14, ...
SW: 1, 4, 6, 5, 14, 10, 11, 23, 16, 18, 21, ...
S: 1, 5, 2, 9, 13, 8, 7, 11, 10, 17, 19, ...
SE: 1, 6, 5, 12, 16, 17, 21, 24, 27, 13, 15, ...
MAPLE
# Maple program from Alois P. Heinz, Jul 12 2016:
fx:= proc(n) option remember; `if`(n=1, 0, (k->
fx(n-1)+sin(k*Pi/2))(floor(sqrt(4*(n-2)+1)) mod 4))
end:
fy:= proc(n) option remember; `if`(n=1, 0, (k->
fy(n-1)-cos(k*Pi/2))(floor(sqrt(4*(n-2)+1)) mod 4))
end:
b:= proc() 0 end:
a:= proc(n) local x, y, s, i, t, m;
x, y:= fx(n+1), fy(n+1);
if b(x, y) > 0 then b(x, y)
else s:={};
for i do t:=b(x+i, y+i); if t>0 then s:=s union {t} else break fi od;
for i do t:=b(x-i, y-i); if t>0 then s:=s union {t} else break fi od;
for i do t:=b(x+i, y-i); if t>0 then s:=s union {t} else break fi od;
for i do t:=b(x-i, y+i); if t>0 then s:=s union {t} else break fi od;
for i do t:=b(x+i, y ); if t>0 then s:=s union {t} else break fi od;
for i do t:=b(x-i, y ); if t>0 then s:=s union {t} else break fi od;
for i do t:=b(x , y+i); if t>0 then s:=s union {t} else break fi od;
for i do t:=b(x , y-i); if t>0 then s:=s union {t} else break fi od;
for m while m in s do od;
b(x, y):= m
fi
end:
seq(a(n), n=0..1000);
MATHEMATICA
fx[n_] := fx[n] = If[n == 1, 0, Function[k, fx[n-1] + Sin[k*Pi/2]][Mod[Floor[Sqrt[4*(n-2)+1]], 4]]]; fy[n_] := fy[n] = If[n == 1, 0, Function[k, fy[n-1] - Cos[k*Pi/2]][Mod[Floor[Sqrt[4*(n-2)+1]], 4]]]; Clear[b]; b[_, _] = 0; a[n_] := Module[{x, y, s, i, t, m}, {x, y} = {fx[n+1], fy[n+1]}; If[b[x, y] > 0, b[x, y], s = {};
For[i=1, True, i++, t=b[x+i, y+i]; If[t>0, s=Union[s, {t}], Break[]]];
For[i=1, True, i++, t=b[x-i, y-i]; If[t>0, s=Union[s, {t}], Break[]]];
For[i=1, True, i++, t=b[x+i, y-i]; If[t>0, s=Union[s, {t}], Break[]]];
For[i=1, True, i++, t=b[x-i, y+i]; If[t>0, s=Union[s, {t}], Break[]]];
For[i=1, True, i++, t=b[x+i, y ]; If[t>0, s=Union[s, {t}], Break[]]];
For[i=1, True, i++, t=b[x-i, y ]; If[t>0, s=Union[s, {t}], Break[]]];
For[i=1, True, i++, t=b[x , y+i]; If[t>0, s=Union[s, {t}], Break[]]];
For[i=1, True, i++, t=b[x , y-i]; If[t>0, s=Union[s, {t}], Break[]]];
m = 1; While[MemberQ[s, m], m++]; b[x, y] = m]]; Table[a[n], {n, 0, 1000}] (* Jean-François Alcover, Nov 14 2016, after Alois P. Heinz *)
CROSSREFS
Cf. A274641 (the same spiral, but starting with 0 not 1), A174344, A274923.
The 8 spokes are A274924-A274931.
The East-West axis is A275877 (see also A324680), the North-South axis is A276036.
Positions of 1's and 2's give A273059 and A275116.
In the same spirit as the infinite Sudoku array A269526.
Cf. A324481 (position of first n).
Cf. A274821 (the same construction on a hexagonal tiling).
Sequence in context: A173524 A049865 A070771 * A245341 A215088 A330786
KEYWORD
nonn,nice
AUTHOR
Zak Seidov and Kerry Mitchell, Jun 30 2016
EXTENSIONS
Corrected and extended by Alois P. Heinz, Jul 12 2016
STATUS
approved