Страница 1 из 1

Help! Задача на pascal!

Добавлено: 11 дек 2006, 12:48
Super-Programmer
Люди плиз помогите решить задачку, очень надо!

По заданной формуле (K+1)/K*sqrt(K*K*K+2) члена ряда с номером K составить прогу вычисления всех членов ряда не меньших заданного числа E

Re: Help! Задача на pascal!

Добавлено: 11 дек 2006, 21:35
somewhere
Тут надо сначала анализ функции сделать, как она себя ведет на разных промежутках. Это еще в 10-ом классе делают. Судя по формуле промежутков где-то три, причем К<>0, К > Корня_Кубического(2) ну и т.д. в том же духе. Получив ООФ несложно проверить в каких диапазонах функция больше Е.

Re: Help! Задача на pascal!

Добавлено: 12 дек 2006, 10:39
Super-Programmer
Все, уже разобрались. Все равно спасибо! ;)
program pr;
var res:real;
K,e:integer;
begin

readln(e);
K:=1;
res:=(K+1)/(K*sqrt(K*K*K+2));
while res>=e do
begin
writeln(K,': ',res:0:4);
inc(K);
res:=(K+1)/(K*sqrt(K*K*K+2));
end;
readln;
end.

Re: Help! Задача на pascal!

Добавлено: 12 дек 2006, 11:30
somewhere
Можно и так, но такой подход - методом перебора, все-таки неправильный. При сложных формулах никогда не знаешь когда получишь деление на 0 или переполнение результата. В этой формуле например при К = 1300 скорее всего будет переполнение