P06 · Packing and covering · Classic

Packing circles of radius 1,2,…,n into a circle · n = 10

Fit n circles of radii 1, 2, …, n, none overlapping, inside one circle, making the container radius as small as possible.

Formal definition

  • ContainerA circle of radius radius centred at (radius, radius), where radius is yours to choose — it is the score; the unit is the smallest circle
  • Submissionradius and centers, the centres listed in order of radii 1, 2, …, n
  • ConstraintsCircle i has radius exactly i; no two overlap in their interiors; every circle lies wholly inside the container
  • ObjectiveMake the container radius as small as possible
Open the full editor
44.000386028y0
0x44.000386028
VERIFIED CONSTRUCTIONr = 22.000193014

Getting a feel for it

Where the room for improvement is

The big circles set the skeleton and the small ones caulk the seams: each new largest circle can upend the whole previous layout.

Where the frontier is

Radii 1..n into the smallest circle was the 2005 Al Zimmermann programming contest (n = 5..50), with every best result collected in Packomania's ccin table — and not one of them proven. The values are not yet recorded here.

Source
Current leader

22.000193014

container radius

Matches the best known
Record holderFounding benchmark
Solution methodHuman
Challenge this record
ANSWER FORMAT

How to write your answer

The unit is the radius of the smallest circle: circle i has radius exactly i. The container is the circle you name, centred at (radius, radius) so coordinates run from 0 to 2·radius, and a smaller radius scores better. Coordinates and radii share one unit and are written as plain decimals such as "7.5", to at most nine decimal places.

Submit radius and centers, listed in order of radius 1,2,…,n. The container is centred at (radius, radius). Write every number as a decimal string, for example "7.5".

The current leader's answer

{
  "centers": [
    [
      "3.010350188",
      "30.935005215"
    ],
    [
      "34.452513458",
      "37.529448855"
    ],
    [
      "8.025301026",
      "9.186824047"
    ],
    [
      "36.089591065",
      "10.871964403"
    ],
    [
      "20.699848972",
      "25.359177615"
    ],
    [
      "12.264104584",
      "34.697230407"
    ],
    [
      "25.112954131",
      "36.6738602"
    ],
    [
      "8.014750182",
      "21.357703159"
    ],
    [
      "34.849183766",
      "23.977174312"
    ],
    [
      "21.97909765",
      "10.000018543"
    ]
  ],
  "radius": "22.000193014"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer

Instance parameters

{
  "n": 10
}

The current leader's answer

{
  "centers": [
    [
      "3.010350188",
      "30.935005215"
    ],
    [
      "34.452513458",
      "37.529448855"
    ],
    [
      "8.025301026",
      "9.186824047"
    ],
    [
      "36.089591065",
      "10.871964403"
    ],
    [
      "20.699848972",
      "25.359177615"
    ],
    [
      "12.264104584",
      "34.697230407"
    ],
    [
      "25.112954131",
      "36.6738602"
    ],
    [
      "8.014750182",
      "21.357703159"
    ],
    [
      "34.849183766",
      "23.977174312"
    ],
    [
      "21.97909765",
      "10.000018543"
    ]
  ],
  "radius": "22.000193014"
}

Submit radius and centers, listed in order of radius 1,2,…,n. The container is centred at (radius, radius). Write every number as a decimal string, for example "7.5". · Verifier v1.0.0