Dado que se dibujan círculos concéntricos de radios 1,2,3,4……….N cm. El interior del círculo más pequeño está coloreado de blanco y las regiones angulares están coloreadas alternativamente de verde y blanco para que no haya dos regiones adyacentes del mismo color. La tarea es encontrar el área total de la región verde en cm cuadrados.
Ejemplos:
Entrada: N=100
Salida: 15865.042900628456Entrada: N=10
Salida: 172.78759594743863
Enfoque: El área de la primera región verde sería-
[π(R2²-R1²)]
De manera similar, el área de todos los círculos verdes alternativos sería:
[π(R4²- R3²)], [π(R6²- R5²)]…..
El área total de la región verde es la suma del área de la región verde es-
A = [ π { (R2² – R1²) + (R4² – R3²) + (R6² – R5²) …………. (R(N)² – R(N-1)²}]
A = [ π { ((R2 – R1)(R2 + R1)) + ((R4 – R3)(R4 + R3)) + ((R6 – R5)(R6 + R5)) …………. ((RN – R(N – 1)(RN + R(N – 1)) } )
Dado que la diferencia entre el radio de 2 círculos concéntricos es de solo 1 cm, entonces R(N) – R(N – 1) = 1. Por lo tanto,
A = [ π {R1 + R2 + R3 + R4 + R5 + R6 ………….R(N-1) + R(N) } ]
(R1 + R2 + R3 + R4 + R5 + R6 ………….R(N-1) + R(N) forma una progresión aritmética por lo que tenemos que encontrar la suma de la progresión aritmética con el radio inicial como 1 y el último radio como N con una diferencia común de 1.
La suma de AP es-
S norte = norte * (2 * un + (N – 1) * re) / 2
o
S norte = norte * (a + l) / 2
Por lo tanto, el área de la región verde es:
A = Sn * π
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ code for the above approach #include <bits/stdc++.h> using namespace std; // Function to calculate area // of concentric circles double area(int N, int a, int l) { // Formula to find sum of // Arithmetic Progression double S = N * (a + l) / 2; // return area return S * M_PI; } // Driver code int main() { // N is number of concentric circles int N = 100; // Radius of interior circle int a = 1; // l radius of exterior circle int l = N; // r is result double r = area(N, a, l); // Print result cout << fixed << setprecision(12) << r; } // This code is contributed by Samim Hossain Mondal.
Java
// Java code for the above approach class GFG { // Function to calculate area // of concentric circles static double area(int N, int a, int l) { // Formula to find sum of // Arithmetic Progression double S = N * (a + l) / 2; // return area return S * Math.PI; } // Driver code public static void main(String args[]) { // N is number of concentric circles int N = 100; // Radius of interior circle int a = 1; // l radius of exterior circle int l = N; // r is result double r = area(N, a, l); // Print result System.out.println(r); } } // This code is contributed by gfgking
Python3
# import pi from math module from math import pi # Function to calculate area # of concentric circles def area(N,a): # Formula to find sum of # Arithmetic Progression S = N * (a + l) / 2 # return area return S * pi # N is number of concentric circles N = 100 # Radius of interior circle a = 1 # l radius of exterior circle l = N # r is result r = area(N, a) # Print result print(r)
C#
// C# program for the above approach using System; class GFG { // Function to calculate area // of concentric circles static double area(int N, int a, int l) { // Formula to find sum of // Arithmetic Progression double S = N * (a + l) / 2; // return area return S * Math.PI; } // Driver Code: public static void Main() { // N is number of concentric circles int N = 100; // Radius of interior circle int a = 1; // l radius of exterior circle int l = N; // r is result double r = area(N, a, l); // Print result Console.WriteLine(r); } } // This code is contributed by Samim Hossain Mondal.
Javascript
<script> // JavaScript code for the above approach // Function to calculate area // of concentric circles function area(N, a) { // Formula to find sum of // Arithmetic Progression S = N * (a + l) / 2 // return area return S * Math.PI } // N is number of concentric circles N = 100 // Radius of interior circle a = 1 // l radius of exterior circle l = N // r is result r = area(N, a) // Print result document.write(r) // This code is contributed by Potta Lokesh </script>
15865.042900628456
Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por harshdeepmahajan88 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA