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: 86Input: 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:
// 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;
} |
// 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;
} |
// 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));
}
} |
# 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 ))
|
// 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));
}
} |
<?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 ));
?> |
<script> // Javascript program to find the length // of rope const PI = 3.14159265; // Function to find the length // of rope function length_rope(r)
{ return ((2 * PI * r) + 6 * r);
} // Driver code let r = 7; document.write(Math.ceil(length_rope(r))); // This code is contributed by souravmahato348 </script> |
86
Time Complexity: O(1)
Auxiliary Space: O(1)