gpt4 book ai didi

algorithm - 确定输入是否为完美正方形的好算法是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:11:48 27 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Fastest way to determine if an integer's square root is an integer

查看数字是否为 perfect square 的方法是什么? ?

bool IsPerfectSquare(long input)
{
// TODO
}

我使用的是 C#,但这与语言无关。

清晰和简单的奖励积分(这并不意味着代码高尔夫)。


编辑:这比我预期的要复杂得多!事实证明, double 问题会以几种方式表现出来。首先,Math.Sqrt 需要一个不能精确容纳 long 的 double (感谢 Jon)。

其次,当您有一个巨大的、近乎完美的正方形时, double 会丢失小值 (.000...00001)。例如,我的实现未能通过 Math.Pow(10,18)+1 的测试(我的报告为真)。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com