Dados dos enteros r y d donde r es el radio del círculo más pequeño y d es la diferencia del área de este círculo con algún círculo de radio más grande. La tarea es encontrar el área del círculo más grande.
Ejemplos:
Entrada: r = 4, d = 5
Salida: 55,24
Área del círculo más pequeño = 3,14 * 4 * 4 = 50,24
55,24 – 50,24 = 5
Entrada: r = 12, d = 3
Salida: 455,16
Enfoque: Sea r y R respectivamente el radio de los círculos más pequeño y más grande y se da la diferencia en las áreas como d , es decir , PI * R 2 – PI * r 2 = d donde PI = 3.14
O, R 2 = (d /PI) + r 2 .
Ahora, el área del círculo más grande se puede calcular como PI * R 2 .
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ implementation of the approach #include <bits/stdc++.h> using namespace std; const double PI = 3.14; // Function to return the area // of the bigger circle double find_area(int r, int d) { // Find the radius of // the bigger circle double R = d / PI; R += pow(r, 2); R = sqrt(R); // Calculate the area of // the bigger circle double area = PI * pow(R, 2); return area; } // Driver code int main() { int r = 4, d = 5; cout << find_area(r, d); return 0; }
Java
// Java implementation of the approach class GFG { static double PI = 3.14; // Function to return the area // of the bigger circle static double find_area(int r, int d) { // Find the radius of // the bigger circle double R = d / PI; R += Math.pow(r, 2); R = Math.sqrt(R); // Calculate the area of // the bigger circle double area = PI * Math.pow(R, 2); return area; } // Driver code public static void main(String[] args) { int r = 4, d = 5; System.out.println(find_area(r, d)); } } // This code is contributed by PrinciRaj1992
Python3
# Python 3 implementation of the approach PI = 3.14 from math import pow, sqrt # Function to return the area # of the bigger circle def find_area(r, d): # Find the radius of # the bigger circle R = d / PI R += pow(r, 2) R = sqrt(R) # Calculate the area of # the bigger circle area = PI * pow(R, 2) return area # Driver code if __name__ == '__main__': r = 4 d = 5 print(find_area(r, d)) # This code is contributed by # Surendra_Gangwar
C#
// C# implementation of the approach using System; public class GFG { static double PI = 3.14; // Function to return the area // of the bigger circle static double find_area(int r, int d) { // Find the radius of // the bigger circle double R = d / PI; R += Math.Pow(r, 2); R = Math.Sqrt(R); // Calculate the area of // the bigger circle double area = PI * Math.Pow(R, 2); return area; } // Driver code static public void Main () { int r = 4, d = 5; Console.Write(find_area(r, d)); } } // This code is contributed by ajit.
PHP
<?php // PHP implementation of the approach const PI = 3.14; // Function to return the area // of the bigger circle function find_area($r, $d) { // Find the radius of // the bigger circle $R = $d / PI; $R += pow($r, 2); $R = sqrt($R); // Calculate the area of // the bigger circle $area = PI * pow($R, 2); return $area; } // Driver Code $r = 4; $d = 5; echo (find_area($r, $d)); // This code is contributed by Naman_Garg ?>
Javascript
<script> // Javascript implementation of the approach let PI = 3.14; // Function to return the area // of the bigger circle function find_area(r, d) { // Find the radius of // the bigger circle let R = d / PI; R += Math.pow(r, 2); R = Math.sqrt(R); // Calculate the area of // the bigger circle let area = PI * Math.pow(R, 2); return area; } // Driver code let r = 4, d = 5; document.write( find_area(r,d).toFixed(2)); // This code contributed by Rajput-Ji </script>
55.24
Complejidad del tiempo : O(log(R))
Espacio Auxiliar: O(1)