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++
// 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
// 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
// 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
# 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#
// 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 // 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 )); ?> |
Javascript
<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)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!