计算椭圆内整数坐标点的个数
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}
点)。
计算椭圆内整数坐标点的个数1。提示:检查那些
的 x 和 y 值可以
|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}
点)。