Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Найти значение выражения

Автор: vetal 21.05.2006 20:52

Привет всем! Помогите плиз решить задачку по информатике. Завтра сдавать уже нужно, а до меня не допрёт как тут решать. Задачка на простое вычисление, но у меня не получается...

Прикрепленное изображение

модеры, так нормально dry.gif ?

Вот так - нормально. Почему надо обязательно ходить неизвестно куда за файлом???

Автор: volvo 21.05.2006 21:10

Задачка-то не на "простое", а на рекурсивное вычисление... Где-то я такое уже решал...

Сейчас найду ссылку...

P.S. Ссылку не нашел. Легче заново сделать...

const n = 50;
function s(level: integer): real;
begin
if level = n then s := n
else s := sqrt(level + s(level + 1));
end;

begin
writeln(s(1):10:5);
end.

Автор: trminator 23.05.2006 1:54

Можно и без рекурсии. Напишу на всякий случай тоже.

const n = 50;
var i : integer;
s : double;
begin
s:= n;
for i := n-1 downto 1 do
s := i + sqrt(s);
writeLn(sqrt(s):10:5)
end.

"с хвоста" вычисляем: сначала 50, потом 49 + sqrt(50), потом sqrt(49 + sqrt(50)), и так далее.

Автор: pascal65536 23.05.2006 9:48

[a href="http://www.pascal.hop.ru/cgi-bin/pages.pl?la-ba-52"]Вложенные корни[/a]
Разумеется не точь-в-точь, но смысл, я думаю, понятен.