Member 12667704 Ответов: 2

Как найти корень из корня в калькуляторе на C#


Я разрабатываю калькулятор в приложении C# windows..Не мог бы кто-нибудь помочь мне найти значение squareroot значения squreroot.например (srqt(2)=1.414) если я хочу srqureroot этого 1.414, какой код я должен написать..

Что я уже пробовал:

Я разрабатываю калькулятор в приложении C# windows..Не мог бы кто-нибудь помочь мне найти значение squareroot значения squreroot.например (srqt(2)=1.414) если я хочу srqureroot этого 1.414, какой код я должен написать..

Patrice T

Это простая математика !

2 Ответов

Рейтинг:
1

BillWoodruff

Как только что показал вам OriginalGriff, и PPolymorphe только что посоветовал вам, это очень простой расчет.

Вот мысль: предполагая, что у вас есть кнопка хранения памяти, вы можете заставить свой калькулятор дать своим пользователям это зинг-мятное ощущение, реализовав функциональные кнопки POW и RT, которые принимают произвольный значения как экспоненты и корневые входы.

Считать

double pow1 = Math.Pow(8.0, 4.0);         // => 4096
double root1 = Math.Pow(pow1, 1.0/4.0);   // => 8.0

double pow2 = Math.Pow(13.0, 5.0);        // => 371293.0
double root2 = Math.Pow(pow2, 1.0 / 5.0); // => 13.000000000000002
Где вещи становятся интересными, так это в работе с отрицательными ценностями:
public double NPOW(double toraise, double raiseto)
{
    return (toraise < 0)
        ? -1*Math.Pow(Math.Abs(toraise), raiseto)
        : Math.Pow(toraise, raiseto);
}

//test
// double pow3 = NPOW(-13.0, 4.0);   // => -28561.0
// double root3 = NPOW(pow3, .25);   // => -13.0
В зависимости от того, что вы делаете с отрицательными входными числами, эта функция может возвращать результат NaN, который вы должны быть в состоянии обработать (и это хорошо, потому что это означает, что вы не получите ошибку). Обычные предостережения о делении на 0.0.

Имейте в виду, что если вы используете математику.Чтобы получить корни, поставив дробное значение в качестве показателя степени, вы должны быть осторожны, чтобы убедиться, что любое деление, которое вы делаете для получения этого дробного показателя, приводит к двойному, а не целому числу.


Рейтинг:
0

OriginalGriff

Попробуй:

double x = Math.Sqrt(Math.Sqrt(2));
Или
double x = Math.Pow(2, 1.0 / 4);