Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Выразить x в формуле


Автор: Burka 29.4.2016, 23:28
Привет, есть формула вида result = (x * (x + 1) ) / 2

Столкнулся с тем что надо вычислить X через известный результат и не могу понять как это сделать. получается result / 2 = x^2 + x

Автор: Lipetsk 30.4.2016, 10:21
Это называется решить квадратное уравнение. Решений может быть несколько, а может и не быть

Автор: Burka 30.4.2016, 12:43
Lipetsk, это понятно. Дескриминант тут получается меньше нуля, по идее решений нет. Но неужели нет какого то способа приблизительного? 
result > 0 

при x = 10 result = 55, то есть есть же решение, как то же получить 10 хоть с погрешностью можно

Автор: Mikron 1.5.2016, 17:56
result = (x * (x + 1) ) / 2;
x^2+x-2*result =0;
D=1^2-4*(-2*result)=1+8*result

если D<0 решений нет
D>0 два решения
D=0 одно

x1=(-1+√(1+8*result))/2
x2=(-1-√(1+8*result))/2

Автор: Burka 1.5.2016, 19:15
Mikron, спасибо, я видимо где то ошибся когда пробовал подсчитать дискриминант

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)