Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

Find area of the larger circle when radius of the smaller circle and difference in the area is given

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

Given two integers r and d where r is the radius of the smaller circle and d is the difference of the area of this circle with some larger radius circle. The task is to find the area of the larger circle.
Examples: 
 

Input: r = 4, d = 5 
Output: 55.24 
Area of the smaller circle = 3.14 * 4 * 4 = 50.24 
55.24 – 50.24 = 5
Input: r = 12, d = 3 
Output: 455.16 
 

 

Approach: Let radius of the smaller and the larger circles be r and R respectively and the difference in the areas is given to be d i.e. PI * R2 – PI * r2 = d where PI = 3.14 
Or, R2 = (d / PI) + r2
Now, area of the bigger circle can be calculated as PI * R2.
Below is the implementation of the above approach: 
 

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>

Output: 

55.24

 

Time complexity: O(logR)

Auxiliary Space: O(1)


My Personal Notes arrow_drop_up
Last Updated : 20 Aug, 2022
Like Article
Save Article
Similar Reads
Related Tutorials