📜  给定一个圆的方程作为字符串,求面积

📅  最后修改于: 2021-10-23 08:44:36             🧑  作者: Mango

给定一个圆X 2 + Y 2 = R 2的方程,其圆心在原点 (0, 0),半径为 R。任务是求圆的面积。
例子 :

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

方法

  • 给定一个方程 X 2 + Y 2 = R 2并将其存储到字符串’str’ 中。
  • 计算字符串的长度并将其存储到“len”中。
  • 从 0 到 len – 1 开始循环并检查 str[i] == ‘=’。
  • 将 ‘=’ 之后的字符存储到字符串变量 st 中。
  • 将字符串’st’ 转换为数字并将其存储到 ‘radius_square’ 中。
  • 使用公式Pi * R 2找到圆的面积(乘以 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


输出:
The area of circle centered at origin is : 314.2