Given here are **n** circles which touch each other externally, and are lined up in a row. The distance between the centers of the first and last circle is given. The circles have a radius of equal length. The task is to find the radius of each circle.

**Examples:**

Input:d = 42, n = 4Output:The radius of each circle is 7Input:d = 64, n = 5Output:The radius of each circle is 8

**Approach**:

Suppose there are **n** circles each having radius of length **r**.

Let, the distance between the first and last circles = **d**

From the figure, it is clear,**r + r + (n-2)*2r = d
2r + 2nr – 4r = d
2nr – 2r = d**

so,

**r = d/(2n-2)**

`// C++ program to find radii of the circles ` `// which are lined in a row ` `// and distance between the ` `// centers of first and last circle is given ` ` ` `#include <bits/stdc++.h> ` `using` `namespace` `std; `
` ` `void` `radius(` `int` `n, ` `int` `d) `
`{ ` ` ` `cout << ` `"The radius of each circle is "`
` ` `<< d / (2 * n - 2) << endl; `
`} ` ` ` `// Driver code ` `int` `main() `
`{ ` ` ` `int` `d = 42, n = 4; `
` ` `radius(n, d); `
` ` `return` `0; `
`} ` |

*chevron_right*

*filter_none*

`// Java program to find radii of the circles ` `// which are lined in a row ` `// and distance between the ` `// centers of first and last circle is given ` `import` `java.io.*; `
` ` `class` `GFG `
`{ ` ` ` `static` `void` `radius(` `int` `n, ` `int` `d) `
`{ ` ` ` `System.out.print( ` `"The radius of each circle is "`
` ` `+d / (` `2` `* n - ` `2` `)); `
`} ` ` ` `// Driver code ` `static` `public` `void` `main (String []args) `
`{ ` ` ` `int` `d = ` `42` `, n = ` `4` `; `
` ` `radius(n, d); `
`} ` `} ` ` ` `// This code is contributed by anuj_67.. ` |

*chevron_right*

*filter_none*

`# Python program to find radii of the circles ` `# which are lined in a row ` `# and distance between the ` `# centers of first and last circle is given ` ` ` `def` `radius(n, d): `
` ` `print` `(` `"The radius of each circle is "` `, `
` ` `d ` `/` `(` `2` `*` `n ` `-` `2` `)); `
` ` `d ` `=` `42` `; n ` `=` `4` `; `
`radius(n, d); ` ` ` ` ` `# This code is contributed by PrinciRaj1992 ` |

*chevron_right*

*filter_none*

`// C# program to find radii of the circles ` `// which are lined in a row ` `// and distance between the ` `// centers of first and last circle is given ` `using` `System; `
` ` `class` `GFG `
`{ ` ` ` `static` `void` `radius(` `int` `n, ` `int` `d) `
`{ ` ` ` `Console.Write( ` `"The radius of each circle is "`
` ` `+d / (2 * n - 2)); `
`} ` ` ` `// Driver code ` `static` `public` `void` `Main () `
`{ ` ` ` `int` `d = 42, n = 4; `
` ` `radius(n, d); `
`} ` `} ` ` ` `// This code is contributed by anuj_67.. ` |

*chevron_right*

*filter_none*

**Output:**

The radius of each circle is 7

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready.