检查完美平方的最短方法?
可能的重复:
什么是确定的好算法如果输入是完全平方数?
我想要用最短和最简单的方法来检查 C# 中的数字是否是完全平方数
一些完全平方数:
1, 4, 9, 16, 25, 36, 49, 64, 81, 100, ......
Possible Duplicate:
What's a good algorithm to determine if an input is a perfect square?
I want Shortest and Simplest way to Check a number is perfect square in C#
Some of Perfect Squares:
1, 4, 9, 16, 25, 36, 49, 64, 81, 100, ......
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
可能会检查数字的平方根是否有小数部分,或者是否是整数。
在实现方面,我会考虑这样的事情:
对于所有方块,
isSquare
现在应该是true
,对于所有其他方块,应该是false
。Probably checking if the square root of the number has any decimal part, or if it is a whole number.
Implementationwise, I would consider something like this:
isSquare
should now betrue
for all squares, andfalse
for all others.这是检查平方根是否为整数的变体:
Math.Ceiling
将向上舍入到下一个整数,而Math.Floor
将向下舍入。如果它们相同,那么你就有了一个整数!这也可以写成单行:
This is a variant on checking if the square root is integral:
Math.Ceiling
will round up to the next integer, whereasMath.Floor
will round down. If they are the same, well, then you have an integer!This can also be written as a oneliner: