usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespacePointCircle{internalclassPoint{double x;double y;publicPoint(double x,double y){this.x = x;this.y = y;}publicdoublegetDistance(Point point){return Math.Sqrt(Math.Pow(this.x - point.x,2.0)+Math.Pow(this.y-point.y,2.0));}//static void Main(string[] args)//{// Point p1 = new Point(1, 1);// Point p2 = new Point(0, 0);// Console.WriteLine(p1.getDistance(p2));//}}}
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PointCircle
{
internal class Circle
{
double radius;
Point center;
public Circle(double radius, Point center)
{
this.center = center;
this.radius = radius;
}
public bool isPointInCircle(Point point)
{
double distance = this.center.getDistance(point);
return distance <= radius;
}
//static void Main(string[] args)
//{
// Point p1 = new Point(0, 0);
// Circle circle = new Circle(2, p1);
// Point p2 = new Point(1, 1);
// Console.WriteLine(circle.isPointInCircle(p2));
// Point p3 = new Point(1, 2);
// Console.WriteLine(circle.isPointInCircle(p3));
//}
}
}
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespacePointCircle{internalclassProgram{staticvoidMain(string[] args){Point p =newPoint(1,1);Circle circle =newCircle(1, p);Random random =newRandom();int count =0;for(int i =0; i <1000000; i++){double x = random.NextDouble()*2;double y = random.NextDouble()*2;Point p_tmp =newPoint(x, y);if(circle.isPointInCircle(p_tmp)){
count++;}}
Console.WriteLine(count*4.0/1000000);}}}