Как оценить, является ли число кубическим - PullRequest
0 голосов
/ 20 апреля 2019

Я пытаюсь вычислить кубический корень числа, чтобы проверить, является ли он идеальным кубом.К сожалению, .NET Framework не имеет встроенной функции для этого.Таким образом, чтобы вычислить корень куба числа, я должен использовать функцию Math.Pow:

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

Когда я пытаюсь оценить, является ли корень куба целым числом, он выдает false, но 125такое идеальный куб:

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

Как мне решить эту проблему?

1 Ответ

6 голосов
/ 20 апреля 2019

Вам нужно округлить и проверить, равен ли куб корня куба исходному значению

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);
...