Кто силён в математике?
Как вычислить корень кватдратный из числа, только используя операции умножить, слложить, поделить и вычесть... в PHP, если нельзя использовать строеную функцию.
Помагите плиз решить эту говоломку... очень надо
и с нужной точностью посчитать
удобнее всего с центром в нуле
(x+1)^a=1+a*x/1!+a*(a-1)*x^2 / 2!+...+a*(a-1)..(a-n+1)*x^n /n!
в твоем случае a=1/2 x=x-1
единственно что это не оптимально
У тебя есть число. У этого числа какой-то порядок.
Например, у 10000 порядок равен 4.
Так вот, если мы возводим в квадрат, то порядок увеличивается примерно вдвое.
На основе этого свойства, ты определяешь интервал, где может лежать решение.
Для 67081 (4) это будет интервал от 100 (2) до 999 (2), потому что у 99 порядок 1, а у 1000 порядок 3.
Ну а дальше перебор:
for i:= 100 to 999 do
for j := 0 to 9 do
for k := 0 to 9 do begin
R := strtofloat(inttostr(i)+'.'+inttostr(j)+inttostr(k));
if RoundTo(R*R, 0) = N then begin
Result := R;
break;
end;
end;
Метод тупой, не масштабируемый, из-за округлений может глючить, для дробных значений его надо усложнять, определяя количество знаков после запятой, но все же метод!:p
Logos тебе тоже спасибо, за ответ... я сначала также сделал, но потом понял что это не выход...а так идея неплохая)))
http://www.krugosvet.ru/articles/15/1001515/1001515a8.htm
Методы, которые там описаны как раз используют условленные математические операции.
Вот ссылка:
Методы, которые там описаны как раз используют условленные математические операции.
А вот еще метод - брутфорс. Берешь число, возводишь в квадрат. Если не подходит - берешь следующее :D (с) Башорг