OFFSET
1,7
COMMENTS
The contents of each piece of paper are represented by 4 integers: the 1st is the outside left page number (or 0 for blank); the 2nd is outside right, 3rd inside left, and 4th inside right. Assumes left-to-right writing direction on paper in landscape orientation.
LINKS
Patrick Reader, The Printer Booklet Sequence, Code Golf Stack Exchange.
EXAMPLE
| Page numbers |
| (or 0 for blank) |
Piece +---------+--------+
of | Outside | Inside |
paper | L R | L R |
------+---------+--------+---------------
1 | 0 1 | 0 0 | 1-page booklet
------+---------+--------+---------------
2 | 0 1 | 2 0 | 2-page booklet
------+---------+--------+---------------
3 | 0 1 | 2 3 | 3-page booklet
------+---------+--------+---------------
4 | 4 1 | 2 3 | 4-page booklet
------+---------+--------+---------------
5 | 0 1 | 2 0 | 5-page
6 | 0 3 | 4 5 | booklet
------+---------+--------+---------------
7 | 0 1 | 2 0 | 6-page
8 | 6 3 | 4 5 | booklet
------+---------+--------+---------------
9 | 0 1 | 2 7 | 7-page
10 | 6 3 | 4 5 | booklet
------+---------+--------+---------------
11 | 8 1 | 2 7 | 8-page
12 | 6 3 | 4 5 | booklet
------+---------+--------+---------------
13 | 0 1 | 2 0 | 9-page
14 | 0 3 | 4 9 | booklet
15 | 8 5 | 6 7 |
------+---------+--------+---------------
16 | 0 1 | 2 0 | 10-page
17 | 10 3 | 4 9 | booklet
18 | 8 5 | 6 7 |
------+---------+--------+---------------
19 | 0 1 | 2 11 | 11-page
20 | 10 3 | 4 9 | booklet
21 | 8 5 | 6 7 |
PROG
(Python)
from math import ceil
def sequence():
p = 0
while True:
p += 1
a = [0] * 4 * ceil(p / 4)
g = len(a) // 4
n = 1
for i in range(g):
a[i * 4 + 1] = n
n += 1
if n > p: break
a[i * 4 + 2] = n
n += 1
for i in reversed(range(g)):
if n > p: break
a[i * 4 + 3] = n
n += 1
if n > p: break
a[i * 4] = n
n += 1
yield from a
CROSSREFS
KEYWORD
nonn,tabf,easy
AUTHOR
Patrick Reader, Apr 25 2021
STATUS
approved
