Length of rope tied around three equal circles touching each other

Given r is the radius of three equal circles touching each other. The task is to find the length of the rope tied around the circles as shown below:

Examples:

Input: r = 7
Output: 86

Input: r = 14
Output: 172

Approach: As it can be clearly seen from above image, the part of the length of rope which is not touching the circle is 2r + 2r + 2r = 6r.
The part of the rope which is touching the circles make a sector of 120 degrees on each circle. Thus, three sectors of 120 degrees each can be considered as a complete one circle of 360 degrees.
Therefore, Length of rope touching the circle is 2 * PI * r where PI = 22 / 7 and r is the radius of the circle.
Hence, the total length of the rope will be ( 2 * PI * r ) + 6r.

Below is the implementation of the above approach:

CPP

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to find the length
// of rope
#include<bits/stdc++.h>
using namespace std;
#define PI 3.14159265
  
// Function to find the length
// of rope
float length_rope( float r )
{
    return ( ( 2 * PI * r ) + 6 * r );
}
  
// Driver code
int main()
{
    float r = 7;
    cout<<ceil(length_rope( r ))<<endl;
    return 0;
}

chevron_right


C

filter_none

edit
close

play_arrow

link
brightness_4
code

// C program to find the length
// of rope
#include <stdio.h>
#define PI 3.14159265
  
// Function to find the length
// of rope
float length_rope( float r )
{
    return ( ( 2 * PI * r ) + 6 * r );
}
  
// Driver code
int main()
{
    float r = 7;
    printf("%f",
           length_rope( r ));
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java code to find the length
// of rope
import java.lang.*;
  
class GFG {
  
    static double PI = 3.14159265;
  
    // Function to find the length
    // of rope
    public static double length_rope(double r)
    {
        return ((2 * PI * r) + 6 * r);
    }
  
    // Driver code
    public static void main(String[] args)
    {
        double r = 7;
        System.out.println(length_rope(r));
    }
}

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 code to find the length
# of rope
PI = 3.14159265
      
# Function to find the length
# of rope
def length_rope( r ):
    return ( ( 2 * PI * r ) + 6 * r )
      
# Driver code
r = 7
print( length_rope( r ))

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# code to find the length
// of rope
using System;
  
class GFG {
    static double PI = 3.14159265;
  
    // Function to find the length
    // of rope
    public static double length_rope(double r)
    {
        return ((2 * PI * r) + 6 * r);
    }
  
    // Driver code
    public static void Main()
    {
        double r = 7.0;
        Console.Write(length_rope(r));
    }
}

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP program to find the 
// length of rope
$PI = 3.14159265;
  
// Function to find the length
// of rope
function length_rope( $r )
{
    global $PI;
    return ( ( 2 * $PI * $r ) + 6 * $r );
}
  
// Driver code
$r=7;
echo(length_rope( $r ));
?>

chevron_right


Output:

86


My Personal Notes arrow_drop_up