| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Выразить 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, спасибо, я видимо где то ошибся когда пробовал подсчитать дискриминант |