Given an equation of the circle X2 + Y2 = R2 whose center at origin (0, 0) and the radius is R. The task is to find area of circle.
Examples :
Input : X*X + Y*Y = 25
Output : The area of circle centered at origin is : 78.55Input : X*X + Y*Y = 64
Output : The area of circle centered at origin is : 201.088
Approach:
- Given an equation X2 + Y2 = R2 and store it into string ‘str’.
- Count length of string and store it into ‘len’.
- Start loop from 0 to len – 1 and check if str[i] == ‘=’.
- Store characters after ‘=’ into string variable st.
- Convert string ‘st’ into digits and store it into ‘radius_square’.
- Use formula Pi * R2 to find area of circle(multiply by Pi).
Below is the implementation of the above approach:
C++
// C++ program to find area of circle // when equation of circle give. #include <bits/stdc++.h> #define PI 3.142 using namespace std;
// Function to find the area double findArea( double radius)
{ return PI * pow (radius, 2);
} // Function to return the value of radius static double findradius(string str)
{ // Initialization
double radius = 0;
// For storing the value of R*R
string st = "" ;
// For counting the number of
// spaces in the string
int c = 0;
// calculate the length of the
int len = str.length();
// getting the value of R*R
// After = sign
for ( int i = 0; i < len; i++) {
if (str[i] == '=' ) {
c = 1;
}
else if (c == 1 && str[i] != ' ' ) {
st += str[i];
}
}
// Converting the digits into integer
// Taking square root of that number
radius = ( double ) sqrt (stoi(st));
return radius;
} int main()
{ // Static input for equation
// of circle
string str = "X*X + Y*Y = 100" ;
// calling the Function
double radius = findradius(str);
// Display the result
cout << "The area of circle " <<
"centered at origin is : " <<
findArea(radius) << endl;
return 0;
} |
Java
// Java program to find area of circle // when equation of circle give. import java.io.*;
public class GFG {
static double PI = 3.142 ;
// Function to find the area
static double findArea( double radius)
{
return PI * Math.pow(radius, 2 );
}
// Function to return the value of radius
static double findradius(String str)
{
double radius = 0 ;
// For storing the value of radius * radius
String st = "" ;
// For counting the number of spaces
// in the string
int c = 0 ;
// calculate the length of the
int len = str.length();
// getting the value of radius * radius
// After = sign
for ( int i = 0 ; i < len; i++) {
if (str.charAt(i) == '=' ) {
c = 1 ;
}
else if (c == 1 && str.charAt(i) != ' ' )
{
st = st + str.charAt(i);
}
}
// Converting the digits into integer
// Taking square root of that number
if (c == 1 )
radius = ( double )Math.sqrt(
Integer.parseInt(st));
return radius;
}
public static void main(String[] args)
{
// Static input for equation of circle
String str = "X*X + Y*Y = 100" ;
// calling the Function
double radius = findradius(str);
// Display the result
System.out.println( "The area of circle"
+ " centered at origin is : "
+ findArea(radius));
}
} |
Python3
# python program to find area of circle # when equation of circle give. import math
# Function to find the area def findArea(radius):
return math.pi * pow (radius, 2 )
# Function to return the value of radius def findradius( str ):
#Initialization
radius = 0
# For storing the value of R*R
st = ""
# For counting the number of
# spaces in the string
c = 0
# calculate the length of the
Len = len ( str )
# getting the value of R*R
# After = sign
for i in range ( 0 , Len ):
if ( str [i] = = '=' ):
c = 1
elif (c = = 1 and str [i] ! = ' ' ):
st = st + str [i]
# Converting the digits into integer
# Taking square root of that number
radius = float (math.sqrt( float (st)))
return radius
# Static input for equation # of circle str = "X*X + Y*Y = 100"
# calling the Function radius = findradius( str )
# Display the result print ( "The area of circle " ,
"centered at origin is : " ,
(findArea(radius)))
# This code is contributed by Sam007. |
C#
// C# program to find area of circle // when equation of circle give. using System;
class GFG
{ // Function to find the area
static double findArea( double radius)
{
return Math.PI * Math.Pow(radius, 2);
}
// Function to return the value of radius
static double findradius( string str)
{
double radius = 0;
// For storing the value
// of radius * radius
String st = "" ;
// For counting the number
// of spaces in the string
int c = 0;
// calculate the length of the
int len = str.Length;
// getting the value of radius * radius
// After = sign
for ( int i = 0; i < len; i++)
{
if (str[i] == '=' )
{
c = 1;
}
else if (c == 1 && str[i] != ' ' )
{
st = st + str[i];
}
}
// Converting the digits into integer
// Taking square root of that number
if (c == 1)
radius = ( double )Math.Sqrt(
int .Parse(st));
return radius;
}
// Driver code
public static void Main()
{
// Static input for equation of circle
string str = "X*X + Y*Y = 100" ;
// calling the Function
double radius = findradius(str);
// Display the result
Console.WriteLine( "The area of circle" +
" centered at origin is : " +
System.Math.Round(findArea(radius),1));
}
} // This code is contributed by Sam007 |
Javascript
<script> // JavaScript program to find area of circle // when equation of circle give. let PI = 3.142;
// Function to find the area
function findArea(radius)
{
return PI * Math.pow(radius, 2);
}
// Function to return the value of radius
function findradius(str)
{
let radius = 0;
// For storing the value of radius * radius
let st = "" ;
// For counting the number of spaces
// in the string
let c = 0;
// calculate the length of the
let len = str.length;
// getting the value of radius * radius
// After = sign
for (let i = 0; i < len; i++) {
if (str[i] == '=' ) {
c = 1;
}
else if (c == 1 && str[i] != ' ' )
{
st = st + str[i];
}
}
// Converting the digits into integer
// Taking square root of that number
if (c == 1)
radius = Math.sqrt(
parseInt(st));
return radius;
}
// Driver program // Static input for equation of circle
let str = "X*X + Y*Y = 100" ;
// calling the Function
let radius = findradius(str);
// Display the result
document.write( "The area of circle"
+ " centered at origin is : "
+ findArea(radius));
// This code is contributed by susmitakundugoaldanga.
</script> |
Output:
The area of circle centered at origin is : 314.2
Time complexity: O(n), where n is the length of the given string.
Auxiliary Space: O(n), for storing the value of R2 in string str.