計算橢圓內具有整數坐標的點數1。提示:檢查 x 和 y 的值
< 1。
能
這會實作嗎?那你呢?
uj5u.com熱心網友回復:
橢圓內沒有 |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 ;
}
}
如果您想要更詳細的答案,請澄清問題,因為很難理解您在問什么。
uj5u.com熱心網友回復:
可以查詢里面的所有點
x = {-13 .. 13}
y = {-16 .. 16}
正方形(遵循提供的提示:您應該分析 和 等點|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}添加積分)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/474832.html
上一篇:我正在嘗試做“CountReversePairs”,但我不明白為什么在這條線上需要parentesis()
下一篇:比O(n)更快地找到階乘n模m
