计算椭圆内整数坐标点的个数

Calculate the number of points with integer coordinates inside the ellipse

计算椭圆内整数坐标点的个数1。提示:检查那些

的 x 和 y 值

< 1.

可以

这就应验了吗?那你呢?

|x| 的椭圆内没有点大于 13.

如果你想计算椭圆内整数坐标点的数量,我会这样做:

int Points = 0;
for(int x = -13; x <= 13; x++)
{
    for(int y = -16; y <= 16; y++)
    {
        if((Math.Pow(x, 2)/169) + (Math.Pow(y, 2)/256) <= 1)
        {
            Points++;
        }
}

如果您想要更详细的答案,请澄清问题,因为很难理解您的问题。

您可以查询

内的所有点
 x = {-13 .. 13} 
 y = {-16 .. 16}

square(按照提供的提示进行操作:您应该分析满足 |x| < 13|y| < 16 的点)。让我们在 Linq 的帮助下完成它:

  int a = 13;
  int b = 16;

  int result = Enumerable
    .Range(-a, a * 2 + 1)
    .SelectMany(x => Enumerable
       .Range(-b, 2 * b + 1)
       .Select(y => (x: x, y: y)))
    .Count(p => (double) p.x * p.x / a / a + (double) p.y * p.y / b / b < 1); 

  Console.Write(result);

结果:

  647

如果你想包含 椭圆上的点(例如 {13, 0}),只需将 < 1 更改为 <= 1。在这种情况下,您将获得 651 点(添加 {-13, 0}, {13, 0}, {0, -16}, {0, 16} 点)。