我想计算一个超过15位的数字的平方根,如果可以的话,100位就太好了
数字如 100000000000000
目前我正在使用 C 语言,数据类型为整数
int IsPerfectSquare(int number)
{
if (number< 0)
return 0;
int root = (round(sqrt(number)));
if(number == (root * root))
{
return 1;
}
else
{
return 0;
}
}
但是 double 或 long double 是否可以容纳 15 位或更多
语言没有障碍。 我也可以用 C# 编写代码
谢谢:)
最佳答案
在 C# 中,您可以使用 decimal
获取最多 29 位数字,使用 BigInteger
获取任意多个数字。
但是,您需要采用不同的技术来判断 100 位 BigInteger 是否是完全平方数,因为据我所知,没有现成的“根”函数。
关于c# - 检查数字是否是完全平方数(数字超过 15 位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15989285/