Пример a : √12 = 2√3
Пример b : √16 = 4
Я пытаюсь получить оба.
Хотя я, конечно, могу использовать Math.Sqrt(4)
для достижения результата b , я понятия не имею, как добиться a , или как заставить оба работать. одновременно которая является целью. Как мне добиться такого упрощения в C#?
Я пробовал несколько библиотек, включая Mat hNet, Symbolics и NCal c, но безуспешно. Этот пост , возможно, решил это в c ++, хотя я точно не знаю. Мои попытки преобразовать это решение, чтобы даже посмотреть, сработало ли оно, оказались очень неудачными:
var outside_root = 1;
var inside_root = 800;
var d = 2;
while (d * d <= inside_root)
if (inside_root % (d * d) == 0) //# inside_root evenly divisible by d * d
{
inside_root = inside_root / (d * d);
outside_root = (outside_root * d);
}
while (d * d > inside_root) {
d = (d + 1);}
Спасибо за любую помощь