我正在尝试计算数字的立方根,以检查它是否是一个完美的立方体。不幸的是,.NET Framework没有内置函数。所以为了计算数字的立方根,我必须使用Math.Pow
函数:
double cubeRoot = Math.Pow(125, (double)1 / 3);
当我尝试评估立方根是否为整数时,它会输出false
,但125是一个完美的立方体:
Console.WriteLine(cubeRoot % 1 == 0);
我怎样才能克服这个问题?
您需要舍入并检查立方根的立方体是否等于原始值
double input = 125;
double cubeRoot = Math.Pow(input, 1.0/3.0);
int c = (int)Math.Round(cubeRoot); // or Convert.ToInt32(cubeRoot);
Console.WriteLine(c*c*c == input);