Страница 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 скорее всего будет переполнение