如何评估数字是否为立方体

问题描述 投票:0回答:1

我正在尝试计算数字的立方根,以检查它是否是一个完美的立方体。不幸的是,.NET Framework没有内置函数。所以为了计算数字的立方根,我必须使用Math.Pow函数:

double cubeRoot = Math.Pow(125, (double)1 / 3);

当我尝试评估立方根是否为整数时,它会输出false,但125是一个完美的立方体:

Console.WriteLine(cubeRoot % 1 == 0);

我怎样才能克服这个问题?

c# math integer double decimal
1个回答
6
投票

您需要舍入并检查立方根的立方体是否等于原始值

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);
© www.soinside.com 2019 - 2024. All rights reserved.