Linked rings
Source: AMC 12 2006A, Problem 12
February 5, 2006
AMC
Problem Statement
A number of linked rings, each 1 cm thick, are hanging on a peg. The top ring has an outside diameter of 20 cm. The outside diameter of each of the outer rings is 1 cm less than that of the ring above it. The bottom ring has an outside diameter of 3 cm. What is the distance, in cm, from the top of the top ring to the bottom of the bottom ring?
[asy]
size(200);
defaultpen(linewidth(3));
real[] inrad = {40,34,28,21};
real[] outrad = {55,49,37,30};
real[] center;
path[][] quad = new path[4][4];
center[0] = 0;
for(int i=0;i<=3;i=i+1) {
if(i != 0) {
center = center[i-1] - inrad[i-1] - inrad+3.5;
}
quad[0] = arc((0,center),inrad,0,90)--arc((0,center),outrad,90,0)--cycle;
quad[1] = arc((0,center),inrad,90,180)--arc((0,center),outrad,180,90)--cycle;
quad[2] = arc((0,center),inrad,180,270)--arc((0,center),outrad,270,180)--cycle;
quad[3] = arc((0,center),inrad,270,360)--arc((0,center),outrad,360,270)--cycle;
draw(circle((0,center),inrad)^^circle((0,center),outrad));
}
void fillring(int i,int j) {
if ((j % 2) == 0) {
fill(quad[j],white);
} else {
filldraw(quad[j],black);
} }
for(int i=0;i<=3;i=i+1) {
for(int j=0;j<=3;j=j+1) {
fillring(((2-i) % 4),j);
} }
for(int k=0;k<=2;k=k+1) {
filldraw(circle((0,-228 - 25 * k),3),black);
}
real r = 130, s = -90;
draw((0,57)--(r,57)^^(0,-57)--(r,-57),linewidth(0.7));
draw((2*r/3,56)--(2*r/3,-56),linewidth(0.7),Arrows(size=3));
label("",(2*r/3,-10),E);
draw((0,39)--(s,39)^^(0,-39)--(s,-39),linewidth(0.7));
draw((9*s/10,38)--(9*s/10,-38),linewidth(0.7),Arrows(size=3));
label("",(9*s/10,0),W);
[/asy]