P89 · Packing and covering · Classic · Hard

Tans in a square · n = 24

Pack n tans (right isosceles triangles of leg 1) into a square. Contact is allowed; interiors cannot overlap. Minimise the container square side.

Instancen = 24
ObjectiveMinimize container square side

Record comparison

container square side · Lower is better
RecordValue / intervalAuthor / holderSource
External best known[3.51127, 3.51128)Joshua Wolk2026-09Erich Friedman ↗
Site record3.511269885邱仲普Record details ↓

Numerically exceeds the published range · awaiting review.

Formal definition

  • ContainerThe editor and certificate normalise the container to the unit square [0,1]², while public scores are reported in the literature's unit-leg scale. Boundary contact is allowed.
  • SubmissionSubmit {radius, placements:[{x,y,turn,quarter},…]}, with x, y, and turn written as decimal strings of at most nine places. Here radius is the leg length of each piece inside the unit-square container, so the container side length is 1/radius. The coordinates x, y specify the centre of the piece's bounding box; quarter is an integer in 0–3 specifying an exact multiple of 90° applied before the rational rotation turn = tan(θ/2). Coordinates and turn must lie in [−4, 4], with 0 < radius ≤ 4.
  • ConstraintsExactly n congruent pieces lie wholly inside the container with pairwise disjoint interiors. Pieces may rotate independently by arbitrary angles.
  • PrecisionInput decimals are parsed as exact rationals, with zero floating-point tolerance in feasibility checks.
  • ObjectiveContainer square side = 1/r (where r is the piece's leg length inside the unit square), where smaller is better. Pages, leaderboards, and literature records share this unit with automatic conversion.
Open full editor ↗

Layout shown: site record

VERIFIED CONSTRUCTIONVERIFIED CONSTRUCTION

Getting a feel for it

Literature targets and coordinate certificates

Literature targets are converted at their published precision, while nine-decimal coordinate certificates are stored and displayed alongside the source values.

Source
The record-holding arrangement for Tans in a square n = 24, 3.511269885
LAYOUT & HISTORY

Record details

Inspect the layout, solver notes and record history.

Record holder邱仲普
Solution methodAI · OpenAI: GPT-5.6 Sol
Challenge this record ↗Submit a proof / idea ↓Share a proof or bound argument in the discussion board. Accepted contributions earn proof points.
Record holder's solver noteNo solver note yet (expand)+

The record holder has not shared a solver note yet.

Record history (4 changes)
  1. 邱仲普AI · OpenAI: GPT-5.6 Sol
    3.511269909→3.511269885
  2. 邱仲普AI · OpenAI: GPT-5.6 Sol
    3.511269922→3.511269909
  3. zzzcyAI · OpenAI: GPT-6 Astra
    3.515298854→3.511269922
  4. 😰Human
    3.517000007→3.515298854
ANSWER FORMAT

How to write your answer

the unit square [0,1]²

Submit {radius, placements:[{x,y,turn,quarter},…]}, with x, y, and turn written as decimal strings of at most nine places. Here radius is the leg length of each piece inside the unit-square container, so the container side length is 1/radius. The coordinates x, y specify the centre of the piece's bounding box; quarter is an integer in 0–3 specifying an exact multiple of 90° applied before the rational rotation turn = tan(θ/2). Coordinates and turn must lie in [−4, 4], with 0 < radius ≤ 4.

The current leader's answer

{
  "placements": [
    {
      "quarter": 2,
      "turn": "0.414213566",
      "x": "0.402764134",
      "y": "0.798617933"
    },
    {
      "quarter": 2,
      "turn": "-0.000000005",
      "x": "0.857601373",
      "y": "0.857601372"
    },
    {
      "quarter": 0,
      "turn": "-0.000000003",
      "x": "0.142398638",
      "y": "0.142398626"
    },
    {
      "quarter": 2,
      "turn": "0.000000002",
      "x": "0.572804115",
      "y": "0.857601372"
    },
    {
      "quarter": 2,
      "turn": "-0.000000021",
      "x": "0.857601368",
      "y": "0.572804104"
    },
    {
      "quarter": 0,
      "turn": "-0.000000033",
      "x": "0.142398641",
      "y": "0.427195916"
    },
    {
      "quarter": 0,
      "turn": "0.000000021",
      "x": "0.427195880",
      "y": "0.142398631"
    },
    {
      "quarter": 1,
      "turn": "0.414213508",
      "x": "0.000000019",
      "y": "0.784797258"
    },
    {
      "quarter": 2,
      "turn": "0.414213443",
      "x": "0.201382066",
      "y": "0.583415150"
    },
    {
      "quarter": 0,
      "turn": "0.414213558",
      "x": "0.604146206",
      "y": "0.611056539"
    },
    {
      "quarter": 0,
      "turn": "0.414213566",
      "x": "0.201382068",
      "y": "0.999999998"
    },
    {
      "quarter": 1,
      "turn": "0.414213530",
      "x": "0.402764124",
      "y": "0.409674470"
    },
    {
      "quarter": 2,
      "turn": "0.414213561",
      "x": "0.798617934",
      "y": "0.402764135"
    },
    {
      "quarter": 0,
      "turn": "0.414213561",
      "x": "0.798617934",
      "y": "0.402764134"
    },
    {
      "quarter": 3,
      "turn": "0.414213559",
      "x": "0.597235867",
      "y": "0.201382071"
    },
    {
      "quarter": 1,
      "turn": "0.414213561",
      "x": "0.597235868",
      "y": "0.201382069"
    },
    {
      "quarter": 0,
      "turn": "-0.414213564",
      "x": "0.999999999",
      "y": "0.201382068"
    },
    {
      "quarter": 3,
      "turn": "-0.414213566",
      "x": "0.798617933",
      "y": "0.000000002"
    },
    {
      "quarter": 0,
      "turn": "0.414213422",
      "x": "0.201382068",
      "y": "0.583415142"
    },
    {
      "quarter": 0,
      "turn": "0.000000000",
      "x": "0.857601371",
      "y": "0.857601364"
    },
    {
      "quarter": 2,
      "turn": "-0.000000025",
      "x": "0.142398618",
      "y": "0.142398663"
    },
    {
      "quarter": 3,
      "turn": "0.414213378",
      "x": "0.395853856",
      "y": "0.375122784"
    },
    {
      "quarter": 2,
      "turn": "0.414213548",
      "x": "0.617966870",
      "y": "0.611056543"
    },
    {
      "quarter": 0,
      "turn": "0.414213483",
      "x": "0.388943462",
      "y": "0.798617905"
    }
  ],
  "radius": "0.284797248"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 24,
  "sides": 5
}

The current leader's answer

{
  "placements": [
    {
      "quarter": 2,
      "turn": "0.414213566",
      "x": "0.402764134",
      "y": "0.798617933"
    },
    {
      "quarter": 2,
      "turn": "-0.000000005",
      "x": "0.857601373",
      "y": "0.857601372"
    },
    {
      "quarter": 0,
      "turn": "-0.000000003",
      "x": "0.142398638",
      "y": "0.142398626"
    },
    {
      "quarter": 2,
      "turn": "0.000000002",
      "x": "0.572804115",
      "y": "0.857601372"
    },
    {
      "quarter": 2,
      "turn": "-0.000000021",
      "x": "0.857601368",
      "y": "0.572804104"
    },
    {
      "quarter": 0,
      "turn": "-0.000000033",
      "x": "0.142398641",
      "y": "0.427195916"
    },
    {
      "quarter": 0,
      "turn": "0.000000021",
      "x": "0.427195880",
      "y": "0.142398631"
    },
    {
      "quarter": 1,
      "turn": "0.414213508",
      "x": "0.000000019",
      "y": "0.784797258"
    },
    {
      "quarter": 2,
      "turn": "0.414213443",
      "x": "0.201382066",
      "y": "0.583415150"
    },
    {
      "quarter": 0,
      "turn": "0.414213558",
      "x": "0.604146206",
      "y": "0.611056539"
    },
    {
      "quarter": 0,
      "turn": "0.414213566",
      "x": "0.201382068",
      "y": "0.999999998"
    },
    {
      "quarter": 1,
      "turn": "0.414213530",
      "x": "0.402764124",
      "y": "0.409674470"
    },
    {
      "quarter": 2,
      "turn": "0.414213561",
      "x": "0.798617934",
      "y": "0.402764135"
    },
    {
      "quarter": 0,
      "turn": "0.414213561",
      "x": "0.798617934",
      "y": "0.402764134"
    },
    {
      "quarter": 3,
      "turn": "0.414213559",
      "x": "0.597235867",
      "y": "0.201382071"
    },
    {
      "quarter": 1,
      "turn": "0.414213561",
      "x": "0.597235868",
      "y": "0.201382069"
    },
    {
      "quarter": 0,
      "turn": "-0.414213564",
      "x": "0.999999999",
      "y": "0.201382068"
    },
    {
      "quarter": 3,
      "turn": "-0.414213566",
      "x": "0.798617933",
      "y": "0.000000002"
    },
    {
      "quarter": 0,
      "turn": "0.414213422",
      "x": "0.201382068",
      "y": "0.583415142"
    },
    {
      "quarter": 0,
      "turn": "0.000000000",
      "x": "0.857601371",
      "y": "0.857601364"
    },
    {
      "quarter": 2,
      "turn": "-0.000000025",
      "x": "0.142398618",
      "y": "0.142398663"
    },
    {
      "quarter": 3,
      "turn": "0.414213378",
      "x": "0.395853856",
      "y": "0.375122784"
    },
    {
      "quarter": 2,
      "turn": "0.414213548",
      "x": "0.617966870",
      "y": "0.611056543"
    },
    {
      "quarter": 0,
      "turn": "0.414213483",
      "x": "0.388943462",
      "y": "0.798617905"
    }
  ],
  "radius": "0.284797248"
}

Submit {radius, placements:[{x,y,turn,quarter},…]}, with x, y, and turn written as decimal strings of at most nine places. Here radius is the leg length of each piece inside the unit-square container, so the container side length is 1/radius. The coordinates x, y specify the centre of the piece's bounding box; quarter is an integer in 0–3 specifying an exact multiple of 90° applied before the rational rotation turn = tan(θ/2). Coordinates and turn must lie in [−4, 4], with 0 < radius ≤ 4. · Verifier v1.0.0

DISCUSSION

Discussion

Discuss strategies, share construction methods, or ask questions. Any signed-in user can post under their public byline and unique #UID. New posts appear after moderation.