判断一个自然数是否是某个数的平方
C# codes:
namespace MyNameSpace
{
class MyClass
{
static void Main()
{
System.Console.WriteLine(new MyClass().Judge(1000010000));
System.Console.ReadKey();
}
public bool Judge(int num)
{
int min = 1;
if (num < 0)
{
return false;
}
else if (num == 0 || num == 1)
{
return true;
}
else
{
int current = 2;
while (true)
{
if (current * current < num)
{
min = current;
current = min * 2;
}
else if (current * current == num)
{
return true;
}
else if (current > min + 1)
{
current = ((min + current) - (min + current) % 2) / 2;
}
else
{
return false;
}
}
}
}
}
}
本文介绍了一种用于判断一个自然数是否为另一个整数平方的有效算法,并提供了C#实现代码。该算法通过逐步逼近的方式,高效地确定目标数值是否为完全平方数。
788

被折叠的 条评论
为什么被折叠?



