sqrt 2



Автор Костя Прокопишен задал вопрос в разделе Другие языки и технологии

Как в паскале реализовать вычисление sqrt(2+sqrt(2+sqrt(2+...+sqrt(2)))) и получил лучший ответ

Ответ от Nnn7[гуру]
ммм. . в цикле? ) Как один из вариантов: var n,i:integer; s:real; begin readln(n); s:=sqrt(2+n); for i:=2 to n do s:=sqrt(s+2); writeln(s:1:3); readln end. Думаю так будет более понятно, но считает верно. Смысл в том, чтобы начать считать с 2+n и дойти до самого первого корня. Каждый раз будет получаться некое значение s, к которому по условию нужно прибавить 2 и извлечь снова корень.

Ответ от Александр Осипов[гуру]
РЕКУРСИЯ function f(p,max:integer): real; begin if p=1 then f := 2+max else f := sqrt(2+f(p-1,max)); end; В основной программе вызываешь так x := f(n,n);

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Как в паскале реализовать вычисление sqrt(2+sqrt(2+sqrt(2+...+sqrt(2))))
Квадратный корень из 2 на Википедии
Посмотрите статью на википедии про Квадратный корень из 2
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*