Suma del área del círculo concéntrico alternativo con radio 1,2,3,4………….N

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.042900628456

Entrada: 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  

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>
Producción

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *