# Given equation of a circle as string, find area

• Difficulty Level : Medium
• Last Updated : 16 Jun, 2022

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

Input :
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).

## C++

 `// C++ program to find area of circle``// when equation of circle give.` `#include ``#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 = 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

 ``

Output:

`The area of circle centered at origin is : 314.2`

Time complexity: O(n)
Auxiliary Space: O(1)

My Personal Notes arrow_drop_up